Professional Documents
Culture Documents
START-OF-SELECTION.
PERFORM GET_VBAK.
PERFORM GET_VBAP.
PERFORM GET_VBFA.
PERFORM GET_VBRK.
PERFORM GET_MAKTX.
PERFORM PREPARE_OUTPUT.
PERFORM DISPLAY.
*&---------------------------------------------------------------------*
*& Form GET_VBAK
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_vbak .
SELECT VBELN
AUART
KUNNR
VSNMR_V
ERDAT
FROM VBAK
INTO TABLE IT_VBAK
" FOR ALL ENTRIES IN IT_VBFA1
WHERE ERDAT IN S_ERDAT
AND VBELN EQ S_VBELN.
ENDFORM. " GET_VBAK
*&---------------------------------------------------------------------*
*& Form GET_VBFA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_vbfa .
IF IT_VBAK IS NOT INITIAL.
SELECT VBELV
POSNV
VBELN
POSNN
VBTYP_N
VBTYP_V
RFMNG
RFWRT
MATNR
FROM VBFA
INTO TABLE IT_VBFA1
FOR ALL ENTRIES IN IT_VBAP
WHERE VBELV = IT_VBAP-VBELN
AND POSNV = IT_VBAP-POSNR.
" AND VBTYP_V IN ('I', 'C', 'E','H').
ENDIF.
ENDFORM. " GET_VBFA
*&---------------------------------------------------------------------*
*& Form GET_VBRP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_vbrk .
IF IT_VBFA1 IS NOT INITIAL.
SELECT VBELN
FKART
KNUMV
FKDAT
KUNAG
NETWR
MWSBK
FROM VBRK
INTO TABLE IT_VBRK
FOR ALL ENTRIES IN IT_VBFA1
WHERE VBELN = IT_VBFA1-VBELN.
" AND KUNAG IN S_KUNNR
" AND FKSTO EQ ''
" AND RFBSK <> 'E'
* AND VBTYP IN ('M','U')
" AND FKART NOT IN ('ZS1','ZS2').
* AND FKSTO = ''.
ENDIF.
ENDFORM. " GET_VBRP
*&---------------------------------------------------------------------*
*& Form GET_MAKTX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_maktx .
IF IT_VBFA1 IS NOT INITIAL.
SELECT MATNR
MAKTX
FROM MAKT
INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_VBFA1
WHERE MATNR = IT_VBFA1-MATNR.
ENDIF.
ENDFORM. " GET_MAKTX
*&---------------------------------------------------------------------*
*& Form PREPARE_OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM prepare_output .
ENDIF.
APPEND T_FINAL TO IT_FINAL.
ENDLOOP.
ENDFORM. " PREPARE_OUTPUT
*&---------------------------------------------------------------------*
*& Form GET_VBAP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_vbap .
IF IT_VBFA1 IS NOT INITIAL.
SELECT VBELN
POSNR
MATNR
ARKTX
NETWR
WAERK
ZMENG
ZIEME
FROM VBAP
INTO TABLE IT_VBAP
FOR ALL ENTRIES IN IT_VBAK
WHERE VBELN = IT_VBAK-VBELN.
" AND KUNAG IN S_KUNNR
" AND FKSTO EQ ''
" AND RFBSK <> 'E'
* AND VBTYP IN ('M','U')
" AND FKART NOT IN ('ZS1','ZS2').
* AND FKSTO = ''.
ENDIF.
ENDFORM. " GET_VBAP
*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display .
PERFORM FIELD_CATLOG.
PERFORM ALV.
ENDFORM. " DISPLAY
*&---------------------------------------------------------------------*
*& Form FIELD_CATLOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM field_catlog .
CLEAR:L_COL.
L_COL = 1.
PERFORM SUB_CREATE_FCAT USING : L_COL 'VBELN' 'SALES DOC' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'POSNR' 'ALES DOC ITEM' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'ERDAT' 'DATE' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'MATNR' 'MATERIAL' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'ARKTX' 'MATERIAL DESC' ''
.
PERFORM SUB_CREATE_FCAT USING : L_COL 'NETWR' 'AMOUNT' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'WAERK' 'CURRENCY' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'KWMENG' 'QUANTITY' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'VRKME' 'NOS' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'VBELN1' 'DELIVERY' '' .
PERFORM SUB_CREATE_FCAT USING : L_COL 'VBELN2' 'INVOICE' '' .
ENDFORM. " FIELD_CATLOG
*&---------------------------------------------------------------------*
*& Form SUB_CREATE_FCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_L_COL text
* -->P_0590 text
* -->P_0591 text
* -->P_0592 text
*----------------------------------------------------------------------*
FORM sub_create_fcat USING P_COL TYPE I
P_FNAME TYPE CHAR20
" P_TAB TYPE CHAR20
P_TEXT TYPE CHAR30
P_OUT TYPE CHAR45
.
WA_FCAT-COL_POS = P_COL.
WA_FCAT-FIELDNAME = P_FNAME .
"WA_FCAT-TABNAME = P_TAB.
WA_FCAT-SELTEXT_M = P_TEXT.
WA_FCAT-OUTPUTLEN = P_OUT.
APPEND WA_FCAT TO IT_FCAT .
CLEAR WA_FCAT.
L_COL = L_COL + 1.
ENDFORM. " SUB_CREATE_FCAT
*&---------------------------------------------------------------------*
*& Form ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
" I_CALLBACK_USER_COMMAND = 'ZUSER_COMM'
" I_GRID_TITLE = G_TEXT
" IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT
" IT_EVENTS = IT_EVENTS
" IT_SORT = IT_SORT
" I_SAVE = 'X'
TABLES
T_OUTTAB = IT_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.
ENDFORM. " ALV