Sei sulla pagina 1di 13

FORM GET_DATA .

* Select the PO with only GRN


SELECT EBELN
EBELP
ZEKKN
VGABE
GJAHR
BELNR
BUZEI
BEWTP
BWART
BUDAT
MENGE
DMBTR
WAERS
SHKZG
LFGJA
LFBNR
LFPOS
MATNR
WERKS
XBLNR
FROM EKBE
INTO TABLE GT_EKBE
WHERE EBELN IN SO_EBELN
AND BEWTP = 'E'
AND BUDAT <= SO_BUDAT " budat IN so_budat
AND WERKS IN SO_WERKS.
* Added By kabil
GT_SERV[] = GT_EKBE[].
GT_TSERV[] = GT_EKBE[].
* Added By kabil
GT_TEKBE[] = GT_EKBE[].
* GRN reversal handling
DELETE GT_EKBE WHERE SHKZG = 'H'. " example fetching 101
DELETE GT_TEKBE WHERE SHKZG = 'S'. "example fetching 102'.
SORT GT_EKBE BY LFBNR .
LOOP AT GT_TEKBE INTO GS_TEKBE.
READ TABLE GT_EKBE INTO GS_EKBE WITH KEY LFBNR = GS_TEKBE-LFBNR
GJAHR = GS_TEKBE-LFGJA
BUZEI = GS_TEKBE-LFPOS.
IF SY-SUBRC = 0.
GV_TABIX = SY-TABIX.
DELETE GT_EKBE INDEX GV_TABIX.
ENDIF.
ENDLOOP.

IF GT_EKBE[] IS NOT INITIAL.

SELECT EBELN
EBELP
ZEKKN
VGABE
GJAHR
BELNR
BUZEI
BEWTP
BWART
BUDAT
MENGE
DMBTR
WAERS
SHKZG
LFGJA
LFBNR
LFPOS
MATNR
WERKS
FROM EKBE
INTO TABLE GT_MEKBE
FOR ALL ENTRIES IN GT_EKBE
WHERE BEWTP = 'Q'
AND EBELN = GT_EKBE-EBELN
AND EBELP = GT_EKBE-EBELP.
ENDIF.
*Logic for removing Migo 101,102 entry
SORT GT_TEKBE BY LFBNR .
LOOP AT GT_EKBE INTO GS_EKBE.
READ TABLE GT_TEKBE INTO GS_TEKBE WITH KEY LFBNR = GS_EKBE-LFBNR
EBELN = GS_EKBE-EBELN
EBELP = GS_EKBE-EBELP.
*
GJAHR = GS_EKBE-LFGJA.
IF SY-SUBRC = 0.
IF GS_EKBE-LFBNR = GS_TEKBE-LFBNR.
DELETE GT_EKBE WHERE LFBNR = GS_EKBE-LFBNR.
ENDIF.
ENDIF.
ENDLOOP.
*Logic for removing Migo 101,102
*Logic for removing service entry sheet 101,102 entry by GK on 18.09.2015
SORT GT_MEKBE BY LFBNR.
LOOP AT GT_EKBE INTO GS_EKBE.
READ TABLE GT_MEKBE INTO GS_MEKBE WITH KEY LFBNR = GS_EKBE-LFBNR.
IF SY-SUBRC = 0.
IF GS_EKBE-LFBNR = GS_MEKBE-LFBNR.
DELETE GT_EKBE WHERE LFBNR = GS_EKBE-LFBNR.
ENDIF.
ENDIF.
ENDLOOP.
*Logic for removing service entry sheet 101,102 entry by GK on 18.09.2015
*Logic Handle 122 Vendor returns
IF GT_SERV[] IS NOT INITIAL.

SELECT EBELN
EBELP
ZEKKN
VGABE
GJAHR
BELNR
BUZEI
BEWTP
BWART
BUDAT
MENGE
DMBTR
WAERS
SHKZG
LFGJA
LFBNR
LFPOS
MATNR
WERKS
XBLNR
FROM EKBE
INTO TABLE GT_RSERV
FOR ALL ENTRIES IN GT_SERV
WHERE EBELN = GT_SERV-EBELN
AND EBELP = GT_SERV-EBELP
AND BWART = '122' .
DELETE GT_SERV WHERE SHKZG = 'H'.
DELETE GT_RSERV WHERE SHKZG = 'S'.
IF GT_RSERV[] IS NOT INITIAL.
SORT GT_RSERV BY EBELN EBELP.
LOOP AT GT_SERV INTO GS_SERV.
GV_121 = GS_SERV-MENGE.
GV_PRICE = GS_SERV-DMBTR.
READ TABLE GT_RSERV INTO GS_RSERV WITH KEY EBELN = GS_SERV-EBELN
EBELP = GS_SERV-EBELP BINARY
SEARCH.
IF SY-SUBRC = 0 .
GV_122 = GS_RSERV-MENGE.
GV_PRICE1 = GS_RSERV-DMBTR.
GS_RSERV-MENGE = GV_121 - GV_122.
GS_RSERV-DMBTR = GV_PRICE - GV_PRICE1.
APPEND GS_RSERV TO GT_RSERV1.
CLEAR :GS_RSERV,GV_121,GV_122,GV_PRICE,GV_PRICE1.
ENDIF.
ENDLOOP.
DELETE GT_RSERV1 WHERE MENGE IS INITIAL.
ENDIF.
ENDIF.
IF GT_RSERV1 IS NOT INITIAL.
SELECT EBELN
EBELP
ZEKKN
VGABE
GJAHR
BELNR
BUZEI

BEWTP
BWART
BUDAT
MENGE
DMBTR
WAERS
SHKZG
LFGJA
LFBNR
LFPOS
MATNR
WERKS
FROM EKBE
INTO TABLE GT_MEKBE
FOR ALL ENTRIES IN GT_RSERV1
WHERE BEWTP = 'Q'
AND EBELN = GT_RSERV1-EBELN
AND EBELP = GT_RSERV1-EBELP.
LOOP AT GT_RSERV1 INTO GS_RSERV1.
READ TABLE GT_MEKBE INTO GS_MEKBE WITH KEY EBELN = GS_RSERV1-EBELN
EBELP = GS_RSERV1-EBELP.
IF SY-SUBRC = 0.
DELETE GT_RSERV1 WHERE EBELN = GS_MEKBE-EBELN
AND EBELP = GS_MEKBE-EBELP.
ENDIF.
ENDLOOP.
APPEND LINES OF GT_RSERV1 TO GT_EKBE.
ENDIF.
*Logic Handle 122 Vendor returns
LOOP AT GT_MEKBE INTO GS_MEKBE WHERE SHKZG = 'H'.
MOVE-CORRESPONDING GS_MEKBE TO GS_MEKBE1.
APPEND GS_MEKBE1 TO GT_MEKBE1.
CLEAR GS_MEKBE1.
ENDLOOP.
GT_MEKBE[] = GT_EKBE[].
*Logic for Adding MIRO Reversal entry by GK on 19.09.2015
IF GT_MEKBE[] IS NOT INITIAL.
SELECT BELNR
GJAHR
BLDAT
STBLG
IVTYP
FROM RBKP
INTO TABLE GT_TRBKP
FOR ALL ENTRIES IN GT_MEKBE
WHERE BELNR = GT_MEKBE-BELNR
AND GJAHR = GT_MEKBE-GJAHR
AND IVTYP = '5'.
ENDIF.
IF GT_TRBKP[] IS NOT INITIAL.
SELECT EBELN
EBELP
ZEKKN

VGABE
GJAHR
BELNR
BUZEI
BEWTP
BWART
BUDAT
MENGE
DMBTR
WAERS
SHKZG
LFGJA
LFBNR
LFPOS
MATNR
WERKS
XBLNR
FROM EKBE
INTO TABLE GT_MTEKBE
FOR ALL ENTRIES IN GT_TRBKP
WHERE BELNR = GT_TRBKP-BELNR
AND GJAHR = GT_TRBKP-GJAHR.
*Logic for Adding MIRO Reversal entry by GK on 19.09.2015
APPEND LINES OF GT_MTEKBE TO GT_EKBE.
*Logic for Adding MIRO Reversal entry by GK on 19.09.2015
ENDIF.
REFRESH GT_MTEKBE.
GT_MTEKBE[] = GT_EKBE[].
SORT GT_MTEKBE BY EBELN.
DELETE ADJACENT DUPLICATES FROM GT_MTEKBE COMPARING EBELN.

IF GT_EKBE[] IS NOT INITIAL.


SELECT EBELN
AEDAT
LIFNR
FROM EKKO
INTO TABLE GT_EKKO
FOR ALL ENTRIES IN GT_MTEKBE
WHERE EBELN = GT_MTEKBE-EBELN.
ENDIF.
IF GT_EKKO[] IS NOT INITIAL.
SELECT LIFNR
NAME1
FROM LFA1
INTO TABLE GT_LFA1
FOR ALL ENTRIES IN GT_EKKO
WHERE LIFNR = GT_EKKO-LIFNR.
SELECT EBELN
EBELP
MATNR
TXZ01
PSTYP
FROM EKPO

INTO TABLE GT_EKPO


FOR ALL ENTRIES IN GT_EKKO
WHERE EBELN = GT_EKKO-EBELN.
ENDIF.
GT_TEKPO[] = GT_EKPO[].
SORT GT_TEKPO BY MATNR.
DELETE ADJACENT DUPLICATES FROM GT_TEKPO COMPARING MATNR.
IF GT_TEKPO[] IS NOT INITIAL.
SELECT MATNR
SPRAS
MAKTX
FROM MAKT
INTO TABLE GT_MAKT
FOR ALL ENTRIES IN GT_TEKPO
WHERE MATNR = GT_TEKPO-MATNR
AND SPRAS = 'E'.
ENDIF.
IF GT_MEKBE[] IS NOT INITIAL.
SELECT BELNR
GJAHR
BLDAT
STBLG
IVTYP
FROM RBKP
INTO TABLE GT_RBKP
FOR ALL ENTRIES IN GT_MEKBE
WHERE BELNR = GT_MEKBE-BELNR
AND GJAHR = GT_MEKBE-GJAHR.

ENDIF.
ENDFORM.
" GET_DATA
*&---------------------------------------------------------------------*
*&
Form GET_LOGIC
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_LOGIC .
SORT GT_MEKBE BY LFBNR LFGJA LFPOS.
SORT GT_RBKP BY BELNR GJAHR.
LOOP AT GT_EKBE INTO GS_EKBE.
READ TABLE GT_MEKBE INTO GS_MEKBE WITH KEY LFBNR = GS_EKBE-BELNR
LFGJA = GS_EKBE-GJAHR
LFPOS = GS_EKBE-BUZEI BINARY SEAR
CH.
IF SY-SUBRC = 0.
READ TABLE GT_RBKP INTO GS_RBKP WITH KEY BELNR = GS_MEKBE-BELNR
GJAHR = GS_MEKBE-GJAHR BINARY SEA

RCH.
IF SY-SUBRC <> 0.
IF GS_EKBE-LFBNR IS INITIAL.
GS_FINAL-MBLNR = GS_EKBE-BELNR.
ELSE.
GS_FINAL-MBLNR = GS_EKBE-LFBNR.
ENDIF.
GS_FINAL-MJAHR = GS_EKBE-GJAHR.
GS_FINAL-GRN_DATE = GS_EKBE-BUDAT.
GS_FINAL-EBELN = GS_EKBE-EBELN.
GS_FINAL-EBELP = GS_EKBE-EBELP.
GS_FINAL-ERFMG = GS_EKBE-MENGE.
GS_FINAL-PVAL = GS_EKBE-DMBTR.
APPEND GS_FINAL TO GT_FINAL.
CLEAR GS_FINAL.
ENDIF.
ELSE.
IF GS_EKBE-LFBNR IS INITIAL.
GS_FINAL-MBLNR = GS_EKBE-BELNR.
ELSE.
GS_FINAL-MBLNR = GS_EKBE-LFBNR.
ENDIF.
*
GS_FINAL-MBLNR = GS_EKBE-BELNR.
GS_FINAL-MJAHR = GS_EKBE-GJAHR.
GS_FINAL-GRN_DATE = GS_EKBE-BUDAT.
GS_FINAL-EBELN = GS_EKBE-EBELN.
GS_FINAL-EBELP = GS_EKBE-EBELP.
GS_FINAL-ERFMG = GS_EKBE-MENGE.
GS_FINAL-PVAL = GS_EKBE-DMBTR.
GS_FINAL-XBLNR = GS_EKBE-XBLNR.
GS_FINAL-XBLNR = GS_EKBE-XBLNR.
IF GS_EKBE-WAERS = 'INR'.
APPEND GS_FINAL TO GT_FINAL.
CLEAR GS_FINAL.
ENDIF.
ENDIF.
ENDLOOP.
SORT GT_MAKT BY MATNR.
SORT GT_EKKO BY EBELN.
SORT GT_EKPO BY EBELN EBELP.
LOOP AT GT_FINAL INTO GS_FINAL.
GV_TABIX = SY-TABIX.
READ TABLE GT_EKKO INTO GS_EKKO WITH KEY EBELN = GS_FINAL-EBELN BINARY SEARC
H.
IF SY-SUBRC = 0.
GS_FINAL-LIFNR = GS_EKKO-LIFNR.
GS_FINAL-AEDAT = GS_EKKO-AEDAT.
ENDIF.
READ TABLE GT_EKPO INTO GS_EKPO WITH KEY EBELN = GS_FINAL-EBELN
EBELP = GS_FINAL-EBELP BINARY SEARC
H.
IF SY-SUBRC = 0.
GS_FINAL-MATNR = GS_EKPO-MATNR.
GS_FINAL-PSTYP = GS_EKPO-PSTYP.

IF GS_FINAL-MATNR IS INITIAL.
GS_FINAL-TXZ01 = GS_EKPO-TXZ01.
ENDIF.
ENDIF.
READ TABLE GT_LFA1 INTO GS_LFA1 WITH KEY LIFNR = GS_EKKO-LIFNR.
IF SY-SUBRC = 0 .
GS_FINAL-NAME1 = GS_LFA1-NAME1.
ENDIF.
READ TABLE GT_MAKT INTO GS_MAKT WITH KEY MATNR = GS_FINAL-MATNR BINARY SEARC
H.
IF SY-SUBRC = 0.
IF NOT GS_FINAL-MATNR IS INITIAL.
GS_FINAL-TXZ01 = GS_MAKT-MAKTX.
ENDIF.
ENDIF.
MODIFY GT_FINAL FROM GS_FINAL INDEX GV_TABIX TRANSPORTING TXZ01 LIFNR AEDAT
MATNR
PSTYP NAME1.
CLEAR: GS_FINAL,GS_EKKO,GS_EKPO,GS_MAKT,GS_LFA1.
DELETE GT_FINAL WHERE PSTYP = 7.
ENDLOOP.
IF SO_LIFNR IS NOT INITIAL.
DELETE GT_FINAL WHERE LIFNR NOT IN SO_LIFNR.
ENDIF.
SORT GT_FINAL BY EBELN EBELP.
ENDFORM.
" GET_LOGIC
*&---------------------------------------------------------------------*
*&
Form FCAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM FCAT .
DATA: COL_POS TYPE I.
COL_POS = COL_POS + 1.
GS_FCAT-FIELDNAME = 'MBLNR'.
GS_FCAT-TABNAME = 'GT_FINAL'.
GS_FCAT-SELTEXT_L = 'GRN No'.
GS_FCAT-DO_SUM = 'X'.
GS_FCAT-KEY = 'X'.
GS_FCAT-HOTSPOT = 'ON'.
GS_FCAT-COL_POS
= COL_POS.
GS_FCAT-OUTPUTLEN = 13.

APPEND GS_FCAT TO GT_FCAT.


CLEAR GS_FCAT.
COL_POS = COL_POS + 1.
GS_FCAT-FIELDNAME = 'GRN_DATE'.
GS_FCAT-TABNAME = 'GT_FINAL'.
GS_FCAT-SELTEXT_L = 'Posing Date'.
GS_FCAT-COL_POS
= COL_POS.
GS_FCAT-OUTPUTLEN = 13.
GS_FCAT-KEY = 'X'.
APPEND GS_FCAT TO GT_FCAT.
CLEAR GS_FCAT.
*
*
*
*
*
*
*
*
*

COL_POS = COL_POS + 1.
GS_FCAT-FIELDNAME = 'XBLNR'.
GS_FCAT-TABNAME = 'GT_FINAL'.
GS_FCAT-SELTEXT_L = 'Reference'.
GS_FCAT-COL_POS
= COL_POS.
GS_FCAT-OUTPUTLEN = 13.
GS_FCAT-KEY = 'X'.
APPEND GS_FCAT TO GT_FCAT.
CLEAR GS_FCAT.
COL_POS = COL_POS + 1.
GS_FCAT-FIELDNAME = 'LIFNR'.
GS_FCAT-TABNAME = 'GT_FINAL'.
GS_FCAT-SELTEXT_L = 'Vendor'.
GS_FCAT-OUTPUTLEN = 10.
GS_FCAT-NO_ZERO = 'X'.
GS_FCAT-KEY = 'X'.
GS_FCAT-COL_POS
= COL_POS.
APPEND GS_FCAT TO GT_FCAT.
CLEAR GS_FCAT.

COL_POS = COL_POS
GS_FCAT-FIELDNAME
GS_FCAT-TABNAME =
GS_FCAT-SELTEXT_L
GS_FCAT-OUTPUTLEN
GS_FCAT-COL_POS
APPEND GS_FCAT TO
CLEAR GS_FCAT.

+ 1.
= 'NAME1'.
'GT_FINAL'.
= 'Vendor Name'.
= 40.
= COL_POS.
GT_FCAT.

COL_POS = COL_POS + 1.
GS_FCAT-FIELDNAME = 'EBELN'.
GS_FCAT-TABNAME = 'GT_FINAL'.
GS_FCAT-SELTEXT_L = 'Purchasing Doc'.
GS_FCAT-HOTSPOT = 'ON'.
GS_FCAT-COL_POS
= COL_POS.
GS_FCAT-NO_ZERO = 'X'.
GS_FCAT-KEY = 'X'.
GS_FCAT-OUTPUTLEN = 13.
APPEND GS_FCAT TO GT_FCAT.
CLEAR GS_FCAT.

COL_POS = COL_POS
GS_FCAT-FIELDNAME
GS_FCAT-TABNAME =
GS_FCAT-SELTEXT_L
GS_FCAT-COL_POS
GS_FCAT-OUTPUTLEN
APPEND GS_FCAT TO
CLEAR GS_FCAT.

+ 1.
= 'EBELP'.
'GT_FINAL'.
= 'PO Item'.
= COL_POS.
= 5.
GT_FCAT.

COL_POS = COL_POS
GS_FCAT-FIELDNAME
GS_FCAT-TABNAME =
GS_FCAT-SELTEXT_L
GS_FCAT-COL_POS
GS_FCAT-OUTPUTLEN
APPEND GS_FCAT TO
CLEAR GS_FCAT.

+ 1.
= 'AEDAT'.
'GT_FINAL'.
= 'PO Created Date'.
= COL_POS.
= 10.
GT_FCAT.

COL_POS = COL_POS
GS_FCAT-FIELDNAME
GS_FCAT-TABNAME =
GS_FCAT-SELTEXT_L
GS_FCAT-COL_POS
GS_FCAT-OUTPUTLEN
GS_FCAT-NO_ZERO =
APPEND GS_FCAT TO
CLEAR GS_FCAT.

+ 1.
= 'MATNR'.
'GT_FINAL'.
= 'Material'.
= COL_POS.
= 18.
'X'.
GT_FCAT.

COL_POS = COL_POS
GS_FCAT-FIELDNAME
GS_FCAT-TABNAME =
GS_FCAT-SELTEXT_L
GS_FCAT-COL_POS
GS_FCAT-OUTPUTLEN
APPEND GS_FCAT TO
CLEAR GS_FCAT.

+ 1.
= 'TXZ01'.
'GT_FINAL'.
= 'Mat. Desp.'.
= COL_POS.
= 35.
GT_FCAT.

COL_POS = COL_POS + 1.
GS_FCAT-FIELDNAME = 'ERFMG'.
GS_FCAT-TABNAME = 'GT_FINAL'.
GS_FCAT-SELTEXT_L = 'GRN Qty'.
GS_FCAT-DO_SUM = 'X'.
GS_FCAT-COL_POS
= COL_POS.
GS_FCAT-OUTPUTLEN = 13.
APPEND GS_FCAT TO GT_FCAT.
CLEAR GS_FCAT.
COL_POS = COL_POS + 1.
GS_FCAT-FIELDNAME = 'PVAL'.
GS_FCAT-TABNAME = 'GT_FINAL'.
GS_FCAT-SELTEXT_L = 'GRN Value'.
GS_FCAT-COL_POS
= COL_POS.
GS_FCAT-OUTPUTLEN = 13.
GS_FCAT-DO_SUM = 'X'.
APPEND GS_FCAT TO GT_FCAT.
CLEAR GS_FCAT.

ENDFORM.
" FCAT
*&---------------------------------------------------------------------*
*&
Form DISPLAY
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM DISPLAY .
IF GT_FINAL[] IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK
= ' '
* I_BYPASSING_BUFFER
= ' '
* I_BUFFER_ACTIVE
= ' '
I_CALLBACK_PROGRAM
= SY-REPID
* I_CALLBACK_PF_STATUS_SET
= ' '
I_CALLBACK_USER_COMMAND
= 'USER_COMMAND '
* I_CALLBACK_TOP_OF_PAGE
= 'TOP_OF_PAGE'
*
i_callback_html_top_of_page
= 'TOP_OF_LIST '
* I_CALLBACK_HTML_END_OF_LIST
= ' '
* I_STRUCTURE_NAME
=
* I_BACKGROUND_ID
= ' '
* I_GRID_TITLE
=
* I_GRID_SETTINGS
=
* is_layout
=
IT_FIELDCAT
= GT_FCAT[]
* IT_EXCLUDING
=
* IT_SPECIAL_GROUPS
=
IT_SORT
= GT_SORT[]
* IT_FILTER
=
* IS_SEL_HIDE
=
* I_DEFAULT
= 'X'
I_SAVE
= 'X'
* IS_VARIANT
=
* IT_EVENTS
=
* IT_EVENT_EXIT
=
* IS_PRINT
=
* IS_REPREP_ID
=
* I_SCREEN_START_COLUMN
= 0
* I_SCREEN_START_LINE
= 0
* I_SCREEN_END_COLUMN
= 0
* I_SCREEN_END_LINE
= 0
* I_HTML_HEIGHT_TOP
= 0
* I_HTML_HEIGHT_END
= 0
* IT_ALV_GRAPHICS
=
* IT_HYPERLINK
=
* IT_ADD_FIELDCAT
=
* IT_EXCEPT_QINFO
=
* IR_SALV_FULLSCREEN_ADAPTER
=
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER
=
* ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= GT_FINAL[]
EXCEPTIONS
PROGRAM_ERROR
= 1
OTHERS
= 2

.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
MESSAGE 'List contains no data' TYPE 'I'.
RETURN.
ENDIF.
ENDFORM.
" DISPLAY
*&---------------------------------------------------------------------*
*&
Form user_command
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->R_UCOMM
text
*
-->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
IF RS_SELFIELD-VALUE IS NOT INITIAL.
CASE R_UCOMM.
WHEN '&IC1'.
IF RS_SELFIELD-FIELDNAME = 'EBELN'.
SET PARAMETER ID 'BES' FIELD RS_SELFIELD-VALUE.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDIF.
IF RS_SELFIELD-FIELDNAME = 'MBLNR'.
CLEAR GS_FINAL.
READ TABLE GT_FINAL INTO GS_FINAL INDEX RS_SELFIELD-TABINDEX.
RS_SELFIELD-VALUE = GS_FINAL-MBLNR.
SET PARAMETER ID 'MBN' FIELD GS_FINAL-MBLNR.
READ TABLE GT_FINAL INTO GS_FINAL INDEX RS_SELFIELD-TABINDEX.
RS_SELFIELD-VALUE = GS_FINAL-MJAHR.
SET PARAMETER ID 'MJA' FIELD GS_FINAL-MJAHR.
SELECT SINGLE * FROM MKPF
WHERE MBLNR = GS_FINAL-MBLNR
AND MJAHR = GS_FINAL-MJAHR.

IF SY-SUBRC = 0.
CALL FUNCTION 'MIGO_DIALOG'
EXPORTING
I_ACTION
= 'A04'
I_REFDOC
= 'R02'
I_NOTREE
= 'X'
I_NO_AUTH_CHECK
= ' '
I_DEADEND
= 'X'
I_SKIP_FIRST_SCREEN = 'X'
I_OKCODE
= 'OK_GO'
I_MBLNR
= GS_FINAL-MBLNR
I_MJAHR
= GS_FINAL-MJAHR.
I_ZEILE
= GW_FINAL-ZEILE.

ENDIF.
ENDIF.
ENDIF.

ENDFORM.

"user_command

Potrebbero piacerti anche