Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

INTERACTIVE ALV REPORT

Former Member
0 Likes
426

hi experts,

i have made an interactive alv report.now when i click on to the order number, transaction code va03 has been opened but without any details of order no.that i clicked rather it gives an information 'enter the document no.first'..m sending u the code.jst chec out my FORM USER COMMAND

&----


*& Report ZSD_ORDER_BILL_DELIVERY

*&

&----


*&

*&

&----


REPORT ZSD_ORDER_BILL2_DELIVERY NO STANDARD PAGE HEADING LINE-SIZE 260.

----


  • DATABSE TABLES

----


TYPE-POOLS : SLIS .

TABLES : VBAP,VBAK,VBFA,VBRP,VBRK.

TYPES : BEGIN OF X_ITAB ,

VBELN LIKE VBAP-VBELN,

NEW_END(40),

WERKS LIKE VBAP-WERKS ,

ERDAT LIKE VBAK-ERDAT,

AUART LIKE VBAK-AUART,

VBELN_D LIKE VBFA-VBELN,

ERDAT_D LIKE VBFA-ERDAT,

VBELN_B LIKE VBFA-VBELN,

ERDAT_B LIKE VBFA-ERDAT,

BSTKD LIKE VBKD-BSTKD,

BSTDK LIKE VBKD-BSTDK,

POSNR LIKE VBAP-POSNR,

POSNN_D LIKE VBFA-POSNN,

POSNN_B LIKE VBFA-POSNN,

NAME1CU LIKE KNA1-NAME1,

CITYCU LIKE KNA1-ORT01,

KUNNR LIKE VBAK-KUNNR,

POSNN LIKE VBFA-POSNN ,

BILLVALUE LIKE KONV-KBETR,

KNUMV LIKE KONV-KNUMV,

REGIO LIKE VBRK-REGIO,

KWMENG LIKE VBAP-KWMENG,

zmeng like vbap-zmeng,

VRKME LIKE VBAP-VRKME,

LFIMG LIKE LIPS-LFIMG,

VRKME1 LIKE LIPS-VRKME,

FKIMG LIKE VBRP-FKIMG,

VRKME2 LIKE VBRP-VRKME,

MATNR LIKE VBAP-MATNR,

arktx like vbap-arktx,

FKART LIKE VBRK-FKART,

END OF X_ITAB.

DATA : BEGIN OF COMWA1.

INCLUDE STRUCTURE VBCO6.

DATA : END OF COMWA1.

TYPES: BEGIN OF X_KONV ,

KNUMV LIKE KONV-KNUMV,

KPOSN LIKE KONV-KPOSN,

KWERT LIKE KONV-KWERT,

KBETR LIKE KONV-KBETR,

KSCHL LIKE KONV-KSCHL,

KAWRT LIKE KONV-KAWRT,

END OF X_KONV.

DATA: IT_KONV TYPE X_KONV OCCURS 0 WITH HEADER LINE.

DATA: E_VBFA TYPE VBFA OCCURS 0 WITH HEADER LINE.

DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA WBUKRS LIKE VBRK-BUKRS.

DATA COM.

DATA COM1.

DATA : WA_FCAT TYPE SLIS_FIELDCAT_ALV.

DATA: ITAB TYPE X_ITAB OCCURS 0 WITH HEADER LINE.

DATA: ITAB_FINAL TYPE X_ITAB OCCURS 0 WITH HEADER LINE.

DATA: WA_ITAB TYPE X_ITAB .

DATA W_WERKS LIKE VBAP-WERKS.

DATA : WBILL_VAL LIKE KONV-KWERT,

WREGIO LIKE KNA1-REGIO,

WTAX_ABIE LIKE KONV-KWERT,

W_BUKRS LIKE VBRK-BUKRS,

WSALES_TAX LIKE KONV-KWERT,

WEXI_DUTY LIKE KONV-KWERT,

WED_CESS LIKE KONV-KWERT,

WFREIGHT LIKE KONV-KWERT,

WDISCOUNT LIKE KONV-KWERT,

WDISCOUNT1 LIKE KONV-KWERT,

WDISCOUNT2 LIKE KONV-KWERT,

WROUND_OFF LIKE KONV-KWERT,

WPACKING LIKE KONV-KWERT,

DEV_WSALES_TAX LIKE KONV-KWERT,

WSX_ABIE LIKE KONV-KWERT,

TOTAL LIKE KONV-KWERT,

WRFMNG LIKE VBFA-RFMNG,

WWRFMNG LIKE VBFA-RFMNG,

W1RFMNG LIKE VBFA-RFMNG,

WW1RFMNG LIKE VBFA-RFMNG,

wfksto like vbrk-fksto,

wfkart LIKE VBRK-FKART..

----


  • SELECTION SCREENS

----


SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER SALES RADIOBUTTON GROUP R.

SELECTION-SCREEN COMMENT 5(10) TEXT-111.

PARAMETER RETURN RADIOBUTTON GROUP R.

SELECTION-SCREEN COMMENT 20(10) TEXT-112.

PARAMETER CNOTE RADIOBUTTON GROUP R.

SELECTION-SCREEN COMMENT 35(11) TEXT-113.

PARAMETER DNOTE RADIOBUTTON GROUP R.

SELECTION-SCREEN COMMENT 50(10) TEXT-114.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : S_BUKRS FOR VBAK-BUKRS_VF NO-EXTENSION NO INTERVALS OBLIGATORY,

S_WERKS FOR VBAP-WERKS NO-EXTENSION NO INTERVALS OBLIGATORY,

S_ERDAT FOR VBAK-ERDAT OBLIGATORY DEFAULT SY-DATUM TO SY-DATUM .

  • S_AUART FOR VBAK-AUART NO-EXTENSION NO INTERVALS.

SELECTION-SCREEN : END OF BLOCK B1.

AT SELECTION-SCREEN.

WBUKRS = S_BUKRS+3(4).

IF WBUKRS NE 'CP01' AND WBUKRS NE 'JB01'.

MESSAGE E000(ZMSG).

ENDIF.

IF S_WERKS IS NOT INITIAL.

IF S_WERKS IS NOT INITIAL.

COM1 = S_BUKRS+3(1).

COM = S_WERKS+4(1).

IF COM NE COM1.

MESSAGE E002(ZMSG).

ENDIF.

SELECT SINGLE WERKS FROM VBAP INTO (W_WERKS) WHERE WERKS IN S_WERKS.

IF SY-SUBRC NE 0.

MESSAGE E001(ZMSG).

ENDIF.

ENDIF.

ENDIF.

START-OF-SELECTION.

PERFORM SELECT_ORDER.

PERFORM OUTPUT.

----


  • FORM SELECT_ORDER

----


FORM SELECT_ORDER .

IF SALES = 'X'.

SELECT AVBELN APOSNR AKWMENG AVRKME AMATNR AARKTX BAUART BERDAT BKUNNR AWERKS INTO CORRESPONDING FIELDS OF TABLE ITAB

FROM VBAP AS A INNER JOIN VBAK AS B ON AVBELN = BVBELN AND AMANDT EQ BMANDT

WHERE B~BUKRS_VF IN S_BUKRS

AND A~WERKS IN S_WERKS

AND B~ERDAT IN S_ERDAT " BETWEEN S_ERDAT-LOW AND S_ERDAT-HIGH

AND ( BAUART = 'SUB' OR BAUART = 'ZDOR' OR BAUART = 'ZIOR' OR BAUART = 'ZJOR'

OR BAUART = 'ZMOR' OR BAUART = 'ZOR' OR BAUART = 'ZSUC' OR BAUART = 'ZSUP' ).

  • AND B~AUART IN S_AUART.

.

IF SY-SUBRC NE 0 .

MESSAGE E001(ZMSG).

ENDIF.

ELSEIF RETURN = 'X'.

SELECT AVBELN APOSNR AKWMENG AVRKME AMATNR AARKTX BAUART BERDAT BKUNNR AWERKS INTO CORRESPONDING FIELDS OF TABLE ITAB

FROM VBAP AS A INNER JOIN VBAK AS B ON AVBELN = BVBELN AND AMANDT EQ BMANDT

WHERE B~BUKRS_VF IN S_BUKRS

AND A~WERKS IN S_WERKS

AND B~ERDAT IN S_ERDAT " BETWEEN S_ERDAT-LOW AND S_ERDAT-HIGH

AND ( BAUART = 'RE' OR BAUART = 'ZRE' OR B~AUART = 'ZSUC' ).

  • AND B~AUART IN S_AUART.

.

IF SY-SUBRC NE 0 .

MESSAGE E001(ZMSG).

ENDIF.

ELSEIF CNOTE = 'X'.

SELECT AVBELN APOSNR AKWMENG AZMENG AVRKME AMATNR AARKTX BAUART BERDAT BKUNNR A~WERKS INTO CORRESPONDING FIELDS OF TABLE ITAB

FROM VBAP AS A INNER JOIN VBAK AS B ON AVBELN = BVBELN AND AMANDT EQ BMANDT

WHERE B~BUKRS_VF IN S_BUKRS

AND A~WERKS IN S_WERKS

AND B~ERDAT IN S_ERDAT " BETWEEN S_ERDAT-LOW AND S_ERDAT-HIGH

AND ( BAUART = 'CR' OR BAUART = 'ZCR' ).

  • AND B~AUART IN S_AUART.

.

IF SY-SUBRC NE 0 .

MESSAGE E001(ZMSG).

ENDIF.

ELSEIF DNOTE = 'X'.

SELECT AVBELN APOSNR AKWMENG AZMENG AMATNR AVRKME AARKTX BAUART BERDAT BKUNNR A~WERKS INTO CORRESPONDING FIELDS OF TABLE ITAB

FROM VBAP AS A INNER JOIN VBAK AS B ON AVBELN = BVBELN AND AMANDT EQ BMANDT

WHERE B~BUKRS_VF IN S_BUKRS

AND A~WERKS IN S_WERKS

AND B~ERDAT IN S_ERDAT " BETWEEN S_ERDAT-LOW AND S_ERDAT-HIGH

AND ( BAUART = 'ZDR' OR BAUART = 'DR' ).

  • AND B~AUART IN S_AUART.

.

IF SY-SUBRC NE 0 .

MESSAGE E001(ZMSG).

ENDIF.

ENDIF.

LOOP AT ITAB.

IF SALES = 'X'.

SELECT RFMNG FROM VBFA INTO WRFMNG WHERE VBELV = ITAB-VBELN AND POSNV = ITAB-POSNR

AND ( VBTYP_N = 'J' OR VBTYP_N = 'T').

WWRFMNG = WWRFMNG + WRFMNG.

ENDSELECT.

ITAB-LFIMG = WWRFMNG.

SELECT SINGLE VBELN POSNN ERDAT FROM VBFA INTO (ITAB-VBELN_D ,ITAB-POSNN_D ,ITAB-ERDAT_D)

WHERE VBELV = ITAB-VBELN

AND POSNV = ITAB-POSNR

AND ( VBTYP_N = 'J' OR VBTYP_N = 'T').

**

  • SELECT VBELN POSNN ERDAT FROM VBFA INTO (ITAB_FINAL-VBELN_D ,ITAB_FINAL-POSNN_D ,ITAB_FINAL-ERDAT_D)

*

  • WHERE VBELV = ITAB-VBELN

  • AND POSNV = ITAB-POSNR

  • AND ( VBTYP_N = 'J' OR VBTYP_N = 'T').

*

  • ITAB_FINAL-VBELN = ITAB-VBELN.

  • ITAB_FINAL-POSNR = ITAB-POSNR.

  • ITAB_FINAL-KWMENG = ITAB-KWMENG.

  • ITAB_FINAL-ZMENG = ITAB-ZMENG.

  • ITAB_FINAL-VRKME = ITAB-VRKME.

  • ITAB_FINAL-AUART = ITAB-AUART.

  • ITAB_FINAL-ERDAT = ITAB-ERDAT.

  • ITAB_FINAL-KUNNR = ITAB-KUNNR.

  • ITAB_FINAL-WERKS = ITAB-WERKS.

*

*

*

  • APPEND ITAB_FINAL.

*

  • SELECT SINGLE LFIMG VRKME FROM LIPS INTO (ITAB-LFIMG,ITAB-VRKME1) WHERE VBELN = ITAB-VBELN_D AND POSNR = ITAB-POSNN_D.

SELECT SINGLE VRKME FROM LIPS INTO (ITAB-VRKME1) WHERE VBELN = ITAB-VBELN_D AND POSNR = ITAB-POSNN_D.

elseif RETURN = 'X' OR CNOTE = 'X' OR DNOTE = 'X'.

SELECT SINGLE VBELN POSNN ERDAT FROM VBFA INTO (ITAB-VBELN_D ,ITAB-POSNN_D ,ITAB-ERDAT_D)

WHERE VBELV = ITAB-VBELN

AND POSNV = ITAB-POSNR

AND ( VBTYP_N = 'J' OR VBTYP_N = 'T').

SELECT SINGLE LFIMG VRKME FROM LIPS INTO (ITAB-LFIMG,ITAB-VRKME1) WHERE VBELN = ITAB-VBELN_D AND POSNR = ITAB-POSNN_D.

endif.

  • IF SY-SUBRC NE 0.

IF SALES = 'X'.

SELECT RFMNG FROM VBFA INTO W1RFMNG WHERE VBELV = ITAB-VBELN AND POSNV = ITAB-POSNR

AND ( VBTYP_N = 'M').

WW1RFMNG = WW1RFMNG + W1RFMNG.

ENDSELECT.

ITAB-FKIMG = WW1RFMNG.

SELECT VBELN POSNN ERDAT FROM VBFA INTO (ITAB-VBELN_B ,ITAB-POSNN_B,ITAB-ERDAT_B)

WHERE VBELV = ITAB-VBELN

AND POSNV = ITAB-POSNR

AND ( VBTYP_N = 'M' ).

SELECT SINGLE FKSTO FROM VBRK INTO WFKSTO WHERE VBELN = ITAB-VBELN_B..

SELECT SINGLE FKART FROM VBRK INTO ITAB-FKART WHERE VBELN = ITAB-VBELN_B.

IF WFKSTO = 'X'.

CLEAR: ITAB-VBELN_B,ITAB-FKIMG.

ENDIF.

ENDSELECT.

  • LOOP AT ITAB WHERE VBELN = ITAB-VBELN.

IF WFKSTO NE 'X'.

SELECT SINGLE VRKME FROM VBRP INTO (ITAB-VRKME2) WHERE VBELN = ITAB-VBELN_B AND POSNR = ITAB-POSNN_B.

ENDIF.

  • ENDLOOP.

ELSEIF RETURN = 'X' OR CNOTE = 'X' OR DNOTE = 'X'.

  • SELECT RFMNG FROM VBFA INTO W1RFMNG WHERE VBELV = ITAB-VBELN AND POSNV = ITAB-POSNR

  • AND ( VBTYP_N = 'O' OR VBTYP_N = 'P' OR VBTYP_N = 'H' ).

  • WW1RFMNG = WW1RFMNG + W1RFMNG.

  • ENDSELECT.

*

  • ITAB-FKIMG = WW1RFMNG.

SELECT VBELN POSNN ERDAT FROM VBFA INTO (ITAB-VBELN_B ,ITAB-POSNN_B,ITAB-ERDAT_B)

WHERE VBELV = ITAB-VBELN

AND POSNV = ITAB-POSNR

AND ( VBTYP_N = 'O' OR VBTYP_N = 'P' OR VBTYP_N = 'H' ).

SELECT SINGLE FKSTO FROM VBRK INTO WFKSTO WHERE VBELN = ITAB-VBELN_B.

IF WFKSTO = 'X'.

CLEAR ITAB-VBELN_B.

ENDIF.

ENDSELECT.

IF WFKSTO NE 'X'.

SELECT SINGLE FKIMG VRKME FROM VBRP INTO (ITAB-FKIMG,ITAB-VRKME2) WHERE VBELN = ITAB-VBELN_B AND POSNR = ITAB-POSNN_B.

ENDIF.

ENDIF.

  • ENDIF.

  • SELECT SINGLE KNUMV REGIO FROM VBRK INTO (ITAB-KNUMV,ITAB-REGIO) WHERE VBELN = ITAB-VBELN_B AND FKSTO NE 'X'.

  • IF SY-SUBRC NE 0.

*

  • CLEAR: ITAB-VBELN_B ,ITAB-POSNN_B,ITAB-ERDAT_B.

*

  • ENDIF.

MODIFY ITAB.

  • ENDSELECT.

CLEAR: ITAB,WWRFMNG,WRFMNG,WW1RFMNG,W1RFMNG.

ENDLOOP.

*

  • SELECT AVBELN APOSNR BAUART BERDAT BKUNNR AWERKS FROM VBAP AS A INNER JOIN VBAK AS B ON AVBELN = BVBELN AND AMANDT EQ BMANDT

  • INTO (ITAB-VBELN ,ITAB-POSNR, ITAB-AUART, ITAB-ERDAT, ITAB-KUNNR, ITAB-WERKS)

  • WHERE B~BUKRS_VF IN S_BUKRS

  • AND A~WERKS IN S_WERKS

  • AND B~ERDAT BETWEEN S_ERDAT-LOW AND S_ERDAT-HIGH

  • AND B~AUART IN S_AUART.

  • SELECT single VBELN POSNN ERDAT FROM VBFA INTO (ITAB-VBELN_D ,ITAB-POSNN_D ,ITAB-ERDAT_D)

  • WHERE VBELV = ITAB-VBELN

  • AND POSNV = ITAB-POSNR

  • AND ( VBTYP_N = 'J' OR VBTYP_N = 'T').

  • SELECT SINGLE VBELN POSNN ERDAT FROM VBFA INTO (ITAB-VBELN_B ,ITAB-POSNN_B,ITAB-ERDAT_B)

  • WHERE VBELV = ITAB-VBELN

  • AND POSNV = ITAB-POSNR

  • AND ( VBTYP_N = 'M' OR VBTYP_N = 'P' OR VBTYP_N = 'O').

  • SELECT SINGLE KNUMV REGIO FROM VBRK INTO (ITAB-KNUMV,ITAB-REGIO) WHERE VBELN = ITAB-VBELN_B.

  • APPEND ITAB.

*

*CLEAR ITAB.

  • ENDSELECT.

LOOP AT ITAB.

SELECT SINGLE BSTKD BSTDK FROM VBKD INTO (ITAB-BSTKD,ITAB-BSTDK)

WHERE VBELN = ITAB-VBELN.

SELECT SINGLE NAME1 ORT01 FROM KNA1 INTO (ITAB-NAME1CU,ITAB-CITYCU)

WHERE KUNNR = ITAB-KUNNR.

CONCATENATE ITAB-VBELN ITAB-VBELN_D ITAB-VBELN_B INTO ITAB-NEW_END.

  • PERFORM KONV_FORM .

MODIFY ITAB.

ENDLOOP.

SORT ITAB BY NEW_END.

LOOP AT ITAB.

MOVE-CORRESPONDING ITAB TO ITAB_FINAL.

  • TOTAL = TOTAL + ITAB-BILLVALUE.

  • ITAB_FINAL-BILLVALUE = TOTAL.

  • AT END OF VBELN.

APPEND ITAB_FINAL.

  • CLEAR TOTAL.

  • ENDAT.

CLEAR ITAB.

ENDLOOP.

SORT ITAB_FINAL BY VBELN.

ENDFORM. "SELECT_ORDER

----


  • FORM OUTPUT .

----


FORM OUTPUT .

  • WA_FCAT-FIELDNAME = 'WERKS'.

  • WA_FCAT-SELTEXT_M = 'Plant'.

  • WA_FCAT-COL_POS = 1.

  • WA_FCAT-OUTPUTLEN = 5.

  • APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'ERDAT'.

WA_FCAT-SELTEXT_M = 'Post Date'.

WA_FCAT-COL_POS = 1.

WA_FCAT-OUTPUTLEN = 11.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'POSNR'.

WA_FCAT-SELTEXT_M = 'Item'.

WA_FCAT-COL_POS = 2.

WA_FCAT-OUTPUTLEN = 5.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'MATNR'.

WA_FCAT-SELTEXT_M = 'Material'.

WA_FCAT-COL_POS = 3.

WA_FCAT-OUTPUTLEN = 20.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'ARKTX'.

WA_FCAT-SELTEXT_M = 'Material Desc.'.

WA_FCAT-COL_POS = 4.

WA_FCAT-OUTPUTLEN = 30.

  • WA_FCAT-EMPHASIZE = 'X'.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'VBELN'.

WA_FCAT-SELTEXT_M = 'Order No.'.

WA_FCAT-COL_POS = 5.

WA_FCAT-OUTPUTLEN = 10.

WA_FCAT-EMPHASIZE = 'X'.

APPEND WA_FCAT TO IT_FCAT.

CLEAR WA_FCAT.

IF SALES = 'X' OR RETURN = 'X'.

WA_FCAT-FIELDNAME = 'KWMENG'.

WA_FCAT-SELTEXT_M = 'Quantity.'.

WA_FCAT-COL_POS = 6.

WA_FCAT-OUTPUTLEN = 9.

APPEND WA_FCAT TO IT_FCAT.

ELSEIF CNOTE = 'X' OR DNOTE = 'X'.

WA_FCAT-FIELDNAME = 'ZMENG'.

WA_FCAT-SELTEXT_M = 'Quantity.'.

WA_FCAT-COL_POS = 7.

WA_FCAT-OUTPUTLEN = 9.

APPEND WA_FCAT TO IT_FCAT.

ENDIF.

WA_FCAT-FIELDNAME = 'VRKME'.

WA_FCAT-SELTEXT_M = 'Unit'.

WA_FCAT-COL_POS = 8.

WA_FCAT-OUTPUTLEN = 5.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'VBELN_D'.

WA_FCAT-SELTEXT_M = 'Del. No.'.

WA_FCAT-COL_POS = 9.

WA_FCAT-OUTPUTLEN = 10.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'LFIMG'.

WA_FCAT-SELTEXT_M = 'Del Quan'.

WA_FCAT-COL_POS = 10.

WA_FCAT-OUTPUTLEN = 9.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'VRKME1'.

WA_FCAT-SELTEXT_M = 'Unit.'.

WA_FCAT-COL_POS = 11.

WA_FCAT-OUTPUTLEN = 5.

APPEND WA_FCAT TO IT_FCAT.

  • WA_FCAT-FIELDNAME = 'ERDAT_D'.

  • WA_FCAT-SELTEXT_M = 'Del. Post Date'.

  • WA_FCAT-COL_POS = 5.

  • WA_FCAT-OUTPUTLEN = 11.

  • APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'VBELN_B'.

WA_FCAT-SELTEXT_M = 'Billing No.'.

WA_FCAT-COL_POS = 12.

WA_FCAT-OUTPUTLEN = 11.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'FKIMG'.

WA_FCAT-SELTEXT_M = 'Bill Quan'.

WA_FCAT-COL_POS = 13.

WA_FCAT-OUTPUTLEN = 9.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'VRKME2'.

WA_FCAT-SELTEXT_M = 'Unit'.

WA_FCAT-COL_POS = 14.

WA_FCAT-OUTPUTLEN = 5.

APPEND WA_FCAT TO IT_FCAT.

  • WA_FCAT-FIELDNAME = 'ERDAT_B'.

  • WA_FCAT-SELTEXT_M = 'Bill Post Dt'.

  • WA_FCAT-COL_POS = 7.

  • WA_FCAT-OUTPUTLEN = 11.

  • APPEND WA_FCAT TO IT_FCAT.

*

  • WA_FCAT-FIELDNAME = 'BSTKD'.

  • WA_FCAT-SELTEXT_M = 'PO Number'.

  • WA_FCAT-COL_POS = 8.

  • WA_FCAT-OUTPUTLEN = 15.

  • APPEND WA_FCAT TO IT_FCAT.

  • WA_FCAT-FIELDNAME = 'BSTDK'.

  • WA_FCAT-SELTEXT_M = 'PO Date'.

  • WA_FCAT-COL_POS = 9.

  • WA_FCAT-OUTPUTLEN = 11.

  • APPEND WA_FCAT TO IT_FCAT.

*

WA_FCAT-FIELDNAME = 'KUNNR'.

WA_FCAT-SELTEXT_M = 'CUSTOMER'.

WA_FCAT-COL_POS = 15.

WA_FCAT-OUTPUTLEN = 10.

APPEND WA_FCAT TO IT_FCAT.

*

*

*

WA_FCAT-FIELDNAME = 'NAME1CU'.

WA_FCAT-SELTEXT_M = 'CUSTOMER'.

WA_FCAT-COL_POS = 16.

WA_FCAT-OUTPUTLEN = 25.

APPEND WA_FCAT TO IT_FCAT.

WA_FCAT-FIELDNAME = 'CITYCU'.

WA_FCAT-SELTEXT_M = 'CUSTOMER CITY'.

WA_FCAT-COL_POS = 17.

WA_FCAT-OUTPUTLEN = 20.

APPEND WA_FCAT TO IT_FCAT.

*

  • WA_FCAT-FIELDNAME = 'AUART'.

  • WA_FCAT-SELTEXT_M = 'Doc. Type'.

  • WA_FCAT-COL_POS = 13.

  • WA_FCAT-OUTPUTLEN = 5.

  • APPEND WA_FCAT TO IT_FCAT.

*

  • WA_FCAT-FIELDNAME = 'BILLVALUE'.

  • WA_FCAT-SELTEXT_M = 'BILL VALUE'.

  • WA_FCAT-COL_POS = 14.

  • WA_FCAT-OUTPUTLEN = 16.

  • APPEND WA_FCAT TO IT_FCAT.

*

WBUKRS = S_BUKRS+3(4).

IF WBUKRS = 'CP01' .

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 = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

I_BACKGROUND_ID = ' '

I_GRID_TITLE = ' C R Y S T A L P H O S P H A T E S L I M I T E D '

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = IT_FCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_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 = ITAB_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.

  • CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

  • EXPORTING

  • I_BACKGROUND_ID = 'ALV_BACKGROUND'

  • I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

*

  • I_GRID_TITLE = ' C R Y S T A L P H O S P H A T E S L I M I T E D '

  • IT_FIELDCAT = IT_FCAT

  • I_SAVE = 'X'

  • TABLES

  • T_OUTTAB = ITAB_FINAL[].

ENDIF.

IF WBUKRS = 'JB01' .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_BACKGROUND_ID = 'ALV_BACKGROUND'

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_GRID_TITLE = 'J A I B H A R A T C R O P C H E M P V T. L I M I T E D '

IT_FIELDCAT = IT_FCAT

I_SAVE = 'X'

TABLES

T_OUTTAB = ITAB_FINAL[].

ENDIF.

FREE ITAB.

APPEND WA_FCAT TO IT_FCAT.

ENDFORM. " OUTPUT

FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

  • Check function code

CASE R_UCOMM.

WHEN '&IC1'.

  • Check field clicked on within ALVgrid report

IF RS_SELFIELD-FIELDNAME = 'VBELN'.

  • Read data table, using index of row user clicked on

READ TABLE ITAB_FINAL INTO WA_ITAB INDEX RS_SELFIELD-TABINDEX.

  • Set parameter ID for transaction screen field

SET PARAMETER ID 'BES' FIELD WA_ITAB-VBELN.

  • Sxecute transaction ME23N, and skip initial data entry screen

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM.

&----


*& Form KONV_FORM

&----


  • text

----


FORM KONV_FORM .

SELECT KNUMV KPOSN KWERT KBETR KAWRT KSCHL FROM KONV INTO CORRESPONDING FIELDS OF TABLE IT_KONV

WHERE KNUMV = ITAB-KNUMV

AND KPOSN = ITAB-POSNR.

IF SY-SUBRC = 0.

LOOP AT IT_KONV.

IF IT_KONV-KPOSN = ITAB-POSNR AND IT_KONV-KNUMV = ITAB-KNUMV.

PERFORM COND.

CLEAR IT_KONV.

ENDIF.

ENDLOOP.

CLEAR DEV_WSALES_TAX.

CLEAR WBILL_VAL.

CLEAR WTAX_ABIE.

CLEAR WSALES_TAX.

CLEAR WEXI_DUTY.

CLEAR WED_CESS.

CLEAR WFREIGHT.

CLEAR WDISCOUNT.

CLEAR WROUND_OFF.

CLEAR WPACKING.

CLEAR WDISCOUNT1 .

CLEAR WDISCOUNT2.

CLEAR WSX_ABIE.

ENDIF.

ENDFORM. "KONV_FORM

&*********************************************************************

*& Form COND

&*********************************************************************

FORM COND .

********************************************TAXABLE VALUE***********************************

  • IF IT_KONV-KSCHL = 'ZPR0'.

  • WTAX_ABIE = IT_KONV-KWERT.

  • ENDIF.

IF ITAB_FINAL-REGIO = '004' OR ITAB_FINAL-REGIO = '025' OR ITAB_FINAL-REGIO = '018'.

IF IT_KONV-KSCHL = 'ZZPR'.

WTAX_ABIE = IT_KONV-KWERT.

ENDIF.

ELSE.

IF IT_KONV-KSCHL = 'ZPR0'.

WTAX_ABIE = IT_KONV-KWERT.

ENDIF.

ENDIF.

********************************************SALE TAX VALUE**********************************

  • IF ITAB_FINAL-REGIO = '024'.

IF IT_KONV-KSCHL = 'JIN6'.

WSALES_TAX = IT_KONV-KWERT.

ENDIF.

IF IT_KONV-KSCHL = 'JCST' .

WSALES_TAX = IT_KONV-KWERT.

ENDIF.

IF IT_KONV-KSCHL = 'JLST'.

WSALES_TAX = IT_KONV-KWERT.

ENDIF.

IF IT_KONV-KSCHL = 'ZDEV'.

DEV_WSALES_TAX = IT_KONV-KWERT.

WSALES_TAX = WSALES_TAX + DEV_WSALES_TAX.

ENDIF.

  • ELSE.

  • IF IT_KONV-KSCHL = 'JIN6'.

  • WSALES_TAX = IT_KONV-KWERT.

  • ENDIF.

  • IF IT_KONV-KSCHL = 'JCST' .

  • WSALES_TAX = IT_KONV-KWERT.

  • ENDIF.

  • IF IT_KONV-KSCHL = 'JLST'.

  • WSALES_TAX = IT_KONV-KWERT.

  • ENDIF.

  • ENDIF.

********************************************EXCISE DUTY VALUE*********************************

IF IT_KONV-KSCHL = 'JEXP'.

WEXI_DUTY = IT_KONV-KWERT.

ENDIF.

********************************************ED. CESS VALUE************************************

IF IT_KONV-KSCHL = 'JCES'.

WED_CESS = IT_KONV-KWERT.

ENDIF.

********************************************EREIGHT********************************************

IF IT_KONV-KSCHL = 'ZFR0'.

WFREIGHT = IT_KONV-KWERT.

ENDIF.

IF IT_KONV-KSCHL = 'ZFRE' .

WFREIGHT = IT_KONV-KWERT.

ENDIF.

********************************************DISC***********************************************

IF IT_KONV-KSCHL = 'ZJD2'.

WDISCOUNT1 = IT_KONV-KWERT.

ENDIF.

IF IT_KONV-KSCHL = 'ZJDI'.

WDISCOUNT2 = IT_KONV-KWERT.

ENDIF.

WDISCOUNT = WDISCOUNT1 + WDISCOUNT2.

********************************************PACKING VALUE/*************************************

IF IT_KONV-KSCHL = 'ZPAC'.

WPACKING = IT_KONV-KWERT.

ENDIF.

******************************************TAXABLE VALUE*****************************************

WSX_ABIE = WTAX_ABIE + WDISCOUNT.

********************************************BILL VALUE******************************************

ITAB-BILLVALUE = WSX_ABIE + WSALES_TAX + WFREIGHT + WEXI_DUTY + WED_CESS + WPACKING.

ENDFORM. "COND

REGARDS,

RAMAN.

2 REPLIES 2
Read only

Former Member
0 Likes
377

Hi Raman,

According to to me u r calling the transaction code VA03 and skiping the first screen which needs the value to be input..

Hence it is prompting you to enter the vbeln no...

U can use the EXport to memory ID syntax.Since when u double click on the primary list..the value will be held in a memory id and the same will be populated in the intial screen after which it will navigate to the second screen...

Sample Code:

FIELD-SYMBOLS :<l_fs_detail> TYPE ty_detail.

"Field Symbol for Detail Internal Table

  • Check user action code

CASE fp_v_ucomm.

  • When user double clicks

WHEN l_c_ucomm_click.

READ TABLE i_detail ASSIGNING <l_fs_detail>

INDEX fp_v_struct_selfield-tabindex.

IF sy-subrc = 0.

  • Set the Parameter Id for Material Number

SET PARAMETER ID l_c_mat FIELD <l_fs_detail>-matnr.

  • Call Material Master transaction

CALL TRANSACTION l_c_tcode_mm03 AND SKIP FIRST SCREEN .

ENDIF.

Thanx,

Navin

Read only

Former Member
0 Likes
377

Hi Raman,

Correct your statement as follows:

SET PARAMETER ID 'AUN' FIELD WA_ITAB-VBELN.

Hope this helps.

Reward if helpful.

Regards,

Sipra