How to use call transaction 'XD03' in alv.
Hi Experts ,
Below i m write code to call transaction xd03 but it not call the transacation.
<Garbled code removed>
Moderator Message: Please continue with your previous thread. Current thread locked.
Edited by: Suhas Saha on Nov 25, 2011 5:04 PM
Uhm
Here it's your calling:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
i_grid_title = gv_title
is_layout = gv_layout
it_fieldcat = gt_fielcat[]
*it_special_groups = gd_tabgroup
* IT_EVENTS = GT_XEVENTS
i_save = 'X'
* is_variant = z_template
TABLES
t_outtab = gt_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
You don't indicate which is the routine for the user_command
You can do it in 2 ways:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
I_CALLBACK_USER_COMMAND = 'USER_COMMAND' "<.------- FORM the USER_COMMAND
i_grid_title = gv_title
is_layout = gv_layout
it_fieldcat = gt_fielcat[]
*it_special_groups = gd_tabgroup
* IT_EVENTS = GT_XEVENTS
i_save = 'X'
* is_variant = z_template
TABLES
t_outtab = gt_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
Or you indicate in the GT_XEVENTS table
LS_EVENT-NAMES = 'USER_COMMAND'.
LS_EVENT-FORM = 'USER_COMMAND'. "<.------- FORM the USER_COMMAND
APPEND LS_EVENT TO GT_XEVENTS.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
i_grid_title = gv_title
is_layout = gv_layout
it_fieldcat = gt_fielcat[]
*it_special_groups = gd_tabgroup
IT_EVENTS = GT_XEVENTS
i_save = 'X'
* is_variant = z_template
TABLES
t_outtab = gt_final
EXCEPTIONS
program_error = 1
OTHERS = 2.
Max
Similar Messages
-
How we can use call transaction xd03 in alv report
hey guys i want now that how we can use call transaction xd03 in alv report by using various tables in report or coding.
can you tell me about that by the way of coding so that it can be easy for me to understand and help ful to make report by using alv report with many tables. so please send me .
Moderator message: it seems to be XD03 day today, please search for available information/documentation/previous discussions.
Edited by: Thomas Zloch on Nov 25, 2011 1:24 PMWhere?
Max -
How to use call transaction 'XD03' in abap.
Hi Experts,
I am use call transaction xd03 in programme but when i click on any customer number the transaction xd03 is called and it show only one customer details. i.e 1 st in row . other customer details not show. so please write code to solved my problemsHi
It's not clear where you set the USER_COMMAND routine and where you set the OK_CODE for doubleclick.
I suppose you set the routine in the importing parameter I_CALLBACK_USER_COMMAND (?) becasue you aren't use the parameter for the event, but for OK_CODE?
Remember the OK_CODE should be upper case:
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
"WHEN 'kunnr'. <--------------- UPPER CASE
WHEN 'KUNNR'.
See my sample:
TYPE-POOLS SLIS.
DATA: BEGIN OF GT_FINAL OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF GT_FINAL.
* ALV
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GT_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_REPID LIKE SY-REPID.
START-OF-SELECTION.
SELECT KUNNR NAME1 INTO TABLE GT_FINAL
UP TO 20 ROWS
FROM KNA1.
GT_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = GT_REPID
I_INTERNAL_TABNAME = 'GT_FINAL'
I_INCLNAME = GT_REPID
CHANGING
CT_FIELDCAT = GT_FIELDCAT[].
GT_LAYOUT-F2CODE = 'KUNNR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GT_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = GT_LAYOUT
IT_FIELDCAT = GT_FIELDCAT
TABLES
T_OUTTAB = GT_FINAL.
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA: GWA_FINAL LIKE GT_FINAL.
CASE R_UCOMM.
WHEN 'KUNNR'.
READ TABLE GT_FINAL INTO GWA_FINAL INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SET PARAMETER ID 'KUN' FIELD GWA_FINAL-KUNNR.
CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.TYPE-POOLS SLIS.
DATA: BEGIN OF GT_FINAL OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF GT_FINAL.
* ALV
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GT_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_REPID LIKE SY-REPID.
DATA: FL_INPUT_OFF.
START-OF-SELECTION.
SELECT KUNNR NAME1 INTO TABLE GT_FINAL
UP TO 20 ROWS
FROM KNA1.
GT_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = GT_REPID
I_INTERNAL_TABNAME = 'GT_FINAL'
I_INCLNAME = GT_REPID
CHANGING
CT_FIELDCAT = GT_FIELDCAT[].
GT_LAYOUT-F2CODE = 'KUNNR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GT_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = GT_LAYOUT
IT_FIELDCAT = GT_FIELDCAT
TABLES
T_OUTTAB = GT_FINAL.
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA: GWA_FINAL LIKE GT_FINAL.
CASE R_UCOMM.
WHEN 'KUNNR'.
READ TABLE GT_FINAL INTO GWA_FINAL INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SET PARAMETER ID 'KUN' FIELD GWA_FINAL-KUNNR.
CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM. TYPE-POOLS SLIS.
DATA: BEGIN OF GT_FINAL OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF GT_FINAL.
* ALV
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GT_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_REPID LIKE SY-REPID.
DATA: FL_INPUT_OFF.
START-OF-SELECTION.
SELECT KUNNR NAME1 INTO TABLE GT_FINAL
UP TO 20 ROWS
FROM KNA1.
GT_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = GT_REPID
I_INTERNAL_TABNAME = 'GT_FINAL'
I_INCLNAME = GT_REPID
CHANGING
CT_FIELDCAT = GT_FIELDCAT[].
GT_LAYOUT-F2CODE = 'KUNNR'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GT_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = GT_LAYOUT
IT_FIELDCAT = GT_FIELDCAT
TABLES
T_OUTTAB = GT_FINAL.
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
DATA: GWA_FINAL LIKE GT_FINAL.
CASE R_UCOMM.
WHEN 'KUNNR'.
READ TABLE GT_FINAL INTO GWA_FINAL INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SET PARAMETER ID 'KUN' FIELD GWA_FINAL-KUNNR.
CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
Max -
How to call transaction xd03 in alv using interactive
hi experts ,
i want code when i click on any value of kunner column in alv grid it call transaction xd03 .but it using interactive format on single click . please elp me
Moderator message : Not enough re-search before posting, requirements dumping is not allowed. Thread locked.
Edited by: Vinod Kumar on Nov 28, 2011 12:15 PMHi,
you have to define a handler for the event hotspot_click of class CL_GUI_ALV_GRID, if you are using that class. If you are using class CL_SALV_TABLE maybe class CL_SALV_EVENTS_TABLE may help you.
Regards,
Klaus -
Hi Experts,
I am using CALL TRANSACTION in ALV for VA02, but I want to go on item number. The following form i have used and it is working but I want to go on perticular item number in va02. pl. guide me.
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'VBELN'.
READ TABLE it_out INTO wa_itab INDEX rs_selfield-tabindex.
SET PARAMETER ID : 'AUN' FIELD wa_itab-vbeln .
'APO' FIELD wa_itab-posnr.
CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
*=====================================
YusufHi,
use BDC for that....
check out the BDC part of coding for it.
REFRESH itab_bdcdata.
CLEAR itab_bdcdata.
*initial screen
PERFORM bdc_dynpro USING 'SAPMV45A'
'0102'.
PERFORM bdc_field USING 'BDC_CURSOR'
'VBAK-VBELN'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'VBAK-VBELN'
<b> g_t_atpma4-vbeln.</b>
*item overview screen
PERFORM bdc_dynpro USING 'SAPMV45A'
'4001'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=POPO'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RV45A-MABNR(04)'.
*popup screen (move item to top)
PERFORM bdc_dynpro USING 'SAPMV45A'
'0251'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RV45A-POSNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=POSI'.
PERFORM bdc_field USING 'RV45A-POSNR'
<b>g_t_atpma4-posnr.</b>
*item overview screen
PERFORM bdc_dynpro USING 'SAPMV45A'
'4001'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'VBAP-POSNR(01)'.
PERFORM bdc_field USING 'RV45A-VBAP_SELKZ(01)'
'X'.
*Call transaction VA02
CALL TRANSACTION 'VA02' USING itab_bdcdata
MODE 'E'
UPDATE 'A'
MESSAGES INTO itab_bdcmsg.
Patil -
How to use call transaction stmt from webdynpro application
Hi Expers,
Can I use call transaction 'tcode' in my webdynpro application, I have tried in my application but i am getting short dump saying
Error analysis+
An exception occurred that is explained in detail below.The exception, which is assigned to class'CX_SY_SEND_DYNPRO_NO_RECEIVER', was not caught and therefore caused a runtime error. The reason for the exception is: During background processing, the system attempted to send a screen to a user. Current screen: "SAPLMGMM " 0060.
I haven't used any more statements in my application am sure from my application side everything perfect. but I have seen a screen shot
with SAP screen in webbrowser.
Please help me out if you are not clear abt my doubt please ask me for clear idea.
Thanks in advance
Phalani MHello,
Since you can't use the call transaction command in web dynpros components, I suggest you to create a report and fill a BDC table on this and use the call transaction in this report.
So, in your web dynpro component you can use a command SUBMIT to create a job in background.
DATA: number TYPE tbtcjob-jobcount,
name TYPE tbtcjob-jobname VALUE 'JOB_TEST',
print_parameters TYPE pri_params.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = name
IMPORTING
jobcount = number
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc = 0.
SUBMIT submitable TO SAP-SPOOL
SPOOL PARAMETERS print_parameters
WITHOUT SPOOL DYNPRO
VIA JOB name NUMBER number
AND RETURN.
IF sy-subrc = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = number
jobname = name
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
OTHERS = 8.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDIF.
Regards. -
How to create a session using call transaction method.
hi , this is nagaraju,
How to create a session using call transaction method.Hi,
About Data Transfer In R/3 System
When a company decides to implement the SAP R/3 to manage business-critical data, it usually does not start from a no-data situation. Normally, a SAP R/3 project comes into replace or complement existing application.
In the process of replacing current applications and transferring application data, two situations might occur:
The first is when application data to be replaced is transferred at once, and only once.
The second situation is to transfer data periodically from external systems to SAP and vice versa.
There is a period of time when information has to be transferred from existing application, to SAP R/3, and often this process will be repetitive.
The SAP system offers two primary methods for transferring data into SAP systems. From non-SAP systems or legacy system. These two methods are collectively called batch input or batch data communication.
1. SESSION METHOD
2. CALL TRANSACTION
3. DIRECT INPUT
First step for both the methods is to upload the data to internal table. From Internal Table, the data is transferred to database table by two ways i.e., Session method and Call transaction.
Session is intermediate step between internal table and database table. Data along with its action is stored in session i.e., data for screen fields, to which screen it is passed, the program name behind it, and how the next screen is processed.
When the program has finished generating the session, you can run the session to execute the SAP transactions in it. Unless session is processed, the data is not transferred to database table.
A technique similar to SESSION method, while batch input is a two-step procedure, Call Transaction does both steps online, one after the other. In this method, you call a transaction from your program.
SESSION METHOD
Data is not updated in database table unless Session is processed.
No sy-subrc is returned.
Error log is created for error records.
Updation in database table is always synchronous
CALL TRANSACTION
Immediate updation in database table.
Sy-subrc is returned.
Errors need to be handled explicitly
Updation in database table can be synchronous Or Asynchronous.
Regards,
Sruthi. -
How to use interactive internal report in alv
hey expert i want to know who i will used interactive internal report in alv report by various tables in my one assingment.
They have told us to do the various steps which i was giving down:
1) In first step they have told me to use of call transaction 'XD03' in the report .I have got that problem solved.
2) In second they have told in this assingment to use of interactive internal report you have to prepare in alv format.
a)I want to know about this .They have told in assingment that in the customer details we have to click to the net value field record and go to the details of sales order detail in which it show the detail of all the details related net values .
b) I want to know about this lines also from you:
Qty field refers to the Target Qty field in the table VBAP.
To get Price in the unit divide the price by Condition Pricing Unit.
If SHKZG field is set, then multiply the amount by -1, making it negative. (understand why?).
3) In the third step they have told to used of drill down which it is in the at line selection ,when i click to the list order of sales it go to the next report and show me the detail of all the list order details.
But i have to use the '2.b' condition there .
cna u please send me reply for all this step.
Edited by: AjaySAPmumbai on Nov 28, 2011 8:55 AM
Moderator message : Spec / requirements dumping is not allowed, search for available information, read forum rules before posting. Thread locked.
Edited by: Vinod Kumar on Nov 28, 2011 1:26 PMhey expert i want to know who i will used interactive internal report in alv report by various tables in my one assingment.
They have told us to do the various steps which i was giving down:
1) In first step they have told me to use of call transaction 'XD03' in the report .I have got that problem solved.
2) In second they have told in this assingment to use of interactive internal report you have to prepare in alv format.
a)I want to know about this .They have told in assingment that in the customer details we have to click to the net value field record and go to the details of sales order detail in which it show the detail of all the details related net values .
b) I want to know about this lines also from you:
Qty field refers to the Target Qty field in the table VBAP.
To get Price in the unit divide the price by Condition Pricing Unit.
If SHKZG field is set, then multiply the amount by -1, making it negative. (understand why?).
3) In the third step they have told to used of drill down which it is in the at line selection ,when i click to the list order of sales it go to the next report and show me the detail of all the list order details.
But i have to use the '2.b' condition there .
cna u please send me reply for all this step.
Edited by: AjaySAPmumbai on Nov 28, 2011 8:55 AM
Moderator message : Spec / requirements dumping is not allowed, search for available information, read forum rules before posting. Thread locked.
Edited by: Vinod Kumar on Nov 28, 2011 1:26 PM -
Tracing of message in Status Bar using Call Transaction for MRBR
Hi
As per the business requirement, I would like to automate the MRBR Transaction. I am achieving this by using Call Transaction. After aaplying certain company codes as an i/p; i receive the invoices as an o/p in a ALV Lay out. Say for example, 100 invoices are displayed in a AlV Lay-out after applying i/p. Now I select all these 100 invoices and release them.
All these steps are recorded and supplied to Call Transaction via BDC table.
Problem:
The number of invoices released, appear in the status bar of that ALV Lay-out screen. This message appears on the ALV screen after I have released the invoices and clicked on "SAVE" button.I would like to use this information and display this number (No. of Invoices released) in my Job Log. But I do not know how to do it. Could any one help me out for this?
Thanks in advance,
Jigar Shah.Yes I have tried that option as well.
But the thing is, the recording gets over as soon as I click on "SAVE" button.And that message apperas in status bar only after I click on "SAVE" button.So this way the message in the status bar never gets recorded.
Thanks & Regards,
Jigar Shah. -
How to use pf-status u2018menuu2019 in ALV report ?
Hi Friends,
How to use pf-status u2018menuu2019 in ALV report ?
I want to use back button ( F3). whenever press it should show
another report.
I used subroutine
form SUB_ERROR_OUTPUT USING RT_EXTAB TYPE SLIS_T_EXTAB .
SET PF-STATUS 'ZMENU' EXCLUDING RT_EXTAB. u201C( the button name is u201C back u201C)
CASE SY-UCOMM.
*WHEN '&F03'.
WHEN 'BACK'
( my coding is there ).
endcase.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PF_STATUS_SET = 'SUB_ERROR_OUTPUT'
but it is executing, working the back button but not showing another report .
any other procedure to use back button in alv report ?
plz any idea .
For correct answer reword most.
Thanking you.Purchase day Book .
Data to be down loaded / printed for EDP dept. CGL.
CGL - Requirement .
WRITTEN BY : ADI.****
*CONSULTANT : SANJAY JAJOO..
AS PER DP REQUIREMENT.
-CHANGED BY : KRISHNA MOHAN (15/01/2002)--
-CHANGE REQ BY : JAJU S--
-DESCRIPTION : SUMMRY BY TAX CODE WISE & GL CODE WISE--
---MODIFIED LINES: -
---CHANGED BY : -
---CHANGE REQ BY : -
---DESCRIPTION : -
---MODIFIED LINES: -
*---changed by : sanjay jajoo on 23/08
*---changed req by: Ranka
*---Description : Inserting Range of period as sel field
changed by : krishna mohan
func. consultant: sanjay jajoo
REPORT ZMMPURDB MESSAGE-ID 00
LINE-SIZE 255
LINE-COUNT 60
NO STANDARD PAGE HEADING .
TABLES : MKPF , MSEG ,SKAT,
EKKO , EKPO , EKBE ,
BSEG , BKPF , BSET ,
T009B , T001 , T007S ,
T001W , T001K ,LFA1.
******Table deactivated on 30/8/2000------jaju
*tables : zcgltaxatn .
DATA : ZFILE1(65) VALUE '/DOWNLOAD/'.
DATA : ZFILE2(65) .
DATA : ZFILE(30) TYPE C VALUE '/DOWNLOAD/'.
DATA : ZMON(2).
DATA : ZTOTAL(11) TYPE N.
DATA: ZTOT1 TYPE P DECIMALS 2.
DATA: ZTXT LIKE SKAT-TXT50.
TYPES: BEGIN OF COMPANY ,
HKONT LIKE BSEG-HKONT,
TOTAL LIKE BSEG-DMBTR,
END OF COMPANY.
DATA: COMP TYPE COMPANY,
COMPTAB TYPE HASHED TABLE OF COMPANY WITH UNIQUE KEY HKONT
WITH HEADER LINE.
DATA : NEXT LIKE BSEG-BUZEI. "A.A. (28/03/2000)
DATA : DOC LIKE BSEG-BELNR. "A.A. (28/03/2000)
DATA S_GSBER.
DATA: CTR TYPE I.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-B01.
PARAMETERS : T_BUKRS LIKE T001-BUKRS OBLIGATORY MEMORY ID BUK .
***********CH--ID- ADI- 29 / 09 / 1999
SELECT-OPTIONS : ZGL FOR BSEG-HKONT OBLIGATORY.
***********CH--ID- ADI- 29 / 09 / 1999
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(9) TEXT-C01 .
PARAMETERS : POPER RADIOBUTTON GROUP RAD1 .
SELECTION-SCREEN COMMENT 13(7) TEXT-C02 .
PARAMETERS : MONTH RADIOBUTTON GROUP RAD1 .
SELECTION-SCREEN COMMENT 23(8) TEXT-C03 .
SELECTION-SCREEN POSITION 33 .
commented on 22/08 sanjay jajoo
*PARAMETERS : T_MONAT LIKE BKPF-MONAT .
SELECTION-SCREEN END OF LINE.
PARAMETERS : T_GJAHR LIKE BKPF-GJAHR OBLIGATORY .
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : S_DOCTYP FOR BKPF-BLART,
S_VENDOR FOR LFA1-LIFNR MATCHCODE OBJECT KRED,
S_MATNR FOR BSEG-MATNR NO-DISPLAY,
T_BUDAT FOR MKPF-BUDAT NO-EXTENSION MODIF ID DAT,
p_gsber FOR bseg-gsber OBLIGATORY,
P_GSBER FOR BSEG-GSBER,
mod starts for inserting range of period - sanjay jajoo
T_MONAT FOR BKPF-MONAT OBLIGATORY.
mod ends
*SELECT-OPTIONS: br_blart FOR mkpf-blart.
*Select-options: br_blart for bkpf-blart.
SELECTION-SCREEN END OF BLOCK B1 .
Start of Delete by B.Elan on 23/12/2005
*PARAMETERS : errors AS CHECKBOX .
*PARAMETERS : summary AS CHECKBOX .
*PARAMETERS : nodetail AS CHECKBOX .
**selection-screen skip 2.
*SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-b03. "<<<
*Add
*PARAMETER : stax_reg RADIOBUTTON GROUP rad2 . "<<<
*Add
*PARAMETER : pur_db RADIOBUTTON GROUP rad2 . "<<<
*Add
*SELECTION-SCREEN END OF BLOCK b3 . "<<< Add
*SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-b02.
*PARAMETERS : display RADIOBUTTON GROUP grp1 ,
dload RADIOBUTTON GROUP grp1.
*PARAMETERS : fname1 LIKE rlgrap-filename .
*DATA : zdoc LIKE bseg-belnr.
*DATA : fname LIKE rlgrap-filename.
*SELECTION-SCREEN END OF BLOCK b2 .
End of Delete by B.Elan on 23/12/2005
Start of Insert by B.Elan on 23/12/2005
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(5) TEXT-C01.
PARAMETER : PUR_DB RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN COMMENT 10(25) TEXT-C06.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(5) TEXT-C01.
PARAMETERS : MAT_SM RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN COMMENT 10(25) TEXT-C04.
SELECTION-SCREEN COMMENT 35(5) TEXT-C01.
PARAMETERS : VEN_SM RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN COMMENT 44(20) TEXT-C05.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(5) TEXT-C01.
PARAMETERS : MAT_DT RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN COMMENT 10(25) TEXT-C07.
SELECTION-SCREEN COMMENT 35(5) TEXT-C01.
PARAMETERS : VEN_DT RADIOBUTTON GROUP RAD2.
SELECTION-SCREEN COMMENT 44(20) TEXT-C08.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
End of Insert by B.Elan on 23/12/2005
Hard coded values used in the program
added by krishna mohan on 09/02/02
DATA : BEGIN OF IT_MSEG OCCURS 0,
BELNR LIKE BSEG-BELNR,
MBLNR LIKE MSEG-MBLNR,
EBELN LIKE BSEG-EBELN,
EBELP LIKE BSEG-EBELP,
END OF IT_MSEG.
mod ends
Start of Insert by B.Elan on 23/12/2005
*--vikky
DATA : BEGIN OF IT_FINAL OCCURS 0,
MATNR LIKE MARA-MATNR,
BLART LIKE BKPF-BLART, " doctype
BELNR LIKE BSEG-BELNR, "sr - nO 10
XBLNR LIKE BKPF-XBLNR , " Bill-no 16
NAME1_VENDOR(25),
"lfa1-name1, " Vendor Name 35
HKONT LIKE BSEG-HKONT , " Alloc-cd 10
MWSKZ LIKE EKPO-MWSKZ , " St-cd 2
BUDAT LIKE BKPF-BUDAT , " Bill-dt 10
DUE_DATE LIKE BSEG-ZFBDT , " Due date 10
PON LIKE EKKO-EBELN , " PON 10
MAKTX LIKE MAKT-MAKTX, "Material text 40
MBLNR LIKE MSEG-MBLNR,
QTY(8) TYPE P DECIMALS 2 , "Qty 11
RATE(9) TYPE P DECIMALS 2 , "Rate11
DISCOUNT(7) TYPE P DECIMALS 2, "DISCOUNT 11
PROD-AMT(9) TYPE P DECIMALS 2,
"AMOUNT 13
EXCISE(8) TYPE P DECIMALS 2 , "eXCISE TAX 11
SALES(5) TYPE P DECIMALS 2 , "SALES TAX 11
FREIGHT(9) TYPE P DECIMALS 2, "FREIGHT 11
OTHERS(11) TYPE P DECIMALS 2, " OTHERS 11
TOTAL(9) TYPE P DECIMALS 2, "TOTAL 17
END OF IT_FINAL.
*DATA : BEGIN OF IT_FINAL OCCURS 0,
MATNR LIKE MARA-MATNR,
BLART LIKE BKPF-BLART, " doctype
BELNR LIKE BSEG-BELNR, "sr - nO 10
XBLNR LIKE BKPF-XBLNR , " Bill-no 16
NAME1_VENDOR(25),
"lfa1-name1, " Vendor Name 35
HKONT LIKE BSEG-HKONT , " Alloc-cd 10
MWSKZ LIKE EKPO-MWSKZ , " St-cd 2
BUDAT LIKE BKPF-BUDAT , " Bill-dt 10
DUE_DATE LIKE BSEG-ZFBDT , " Due date 10
PON LIKE EKKO-EBELN , " PON 10
MAKTX LIKE MAKT-MAKTX, "Material text 40
MBLNR LIKE MSEG-MBLNR,
QTY(13) TYPE P DECIMALS 2 , "Qty 11
RATE(13) TYPE P DECIMALS 2 , "Rate 11
DISCOUNT(13) TYPE P DECIMALS 2, "DISCOUNT 11
PROD-AMT(13) TYPE P DECIMALS 2,
"AMOUNT 13
EXCISE(13) TYPE P DECIMALS 2 , "eXCISE TAX 11
SALES(13) TYPE P DECIMALS 2 , "SALES TAX 11
FREIGHT(13) TYPE P DECIMALS 2, "FREIGHT 11
OTHERS(13) TYPE P DECIMALS 2, " OTHERS 11
TOTAL(13) TYPE P DECIMALS 2, "TOTAL 17
END OF IT_FINAL.
*--vikky
DATA : BEGIN OF IT_FINAL_VN OCCURS 0,
NAME1_VENDOR(25),
"lfa1-name1, " Vendor Name 35
MATNR LIKE MARA-MATNR,
BLART LIKE BKPF-BLART, " doctype
BELNR LIKE BSEG-BELNR, "sr - nO 10
XBLNR LIKE BKPF-XBLNR , " Bill-no 16
HKONT LIKE BSEG-HKONT , " Alloc-cd 10
MWSKZ LIKE EKPO-MWSKZ , " St-cd 2
BUDAT LIKE BKPF-BUDAT , " Bill-dt 10
DUE_DATE LIKE BSEG-ZFBDT , " Due date 10
PON LIKE EKKO-EBELN , " PON 10
MAKTX LIKE MAKT-MAKTX, "Material text 40
MBLNR LIKE MSEG-MBLNR,
QTY(8) TYPE P DECIMALS 2 , "Qty 11
RATE(9) TYPE P DECIMALS 2 , "Rate 11
DISCOUNT(7) TYPE P DECIMALS 2, "DISCOUNT 11
PROD-AMT(9) TYPE P DECIMALS 2,
"AMOUNT 13
EXCISE(5) TYPE P DECIMALS 2 , "eXCISE TAX 11
SALES(5) TYPE P DECIMALS 2 , "SALES TAX 11
FREIGHT(5) TYPE P DECIMALS 2, "FREIGHT 11
OTHERS(9) TYPE P DECIMALS 2, " OTHERS 11
TOTAL(9) TYPE P DECIMALS 2, "TOTAL 17
END OF IT_FINAL_VN.
End of Insert by B.Elan on 23/12/2005
DATA: BEGIN OF ITAB_DISPLAY OCCURS 0,
BLART LIKE BKPF-BLART, " doctype
BELNR LIKE BSEG-BELNR, "sr - nO 10
XBLNR LIKE BKPF-XBLNR , " Bill-no 16
NAME1_VENDOR(25), "lfa1-name1, " Vendor Name 35
HKONT LIKE BSEG-HKONT , " Alloc-cd 10
MWSKZ LIKE EKPO-MWSKZ , " St-cd 2
BUDAT LIKE BKPF-BUDAT , " Bill-dt 10
DUE_DATE LIKE BSEG-ZFBDT , " Due date 10
PON LIKE EKKO-EBELN , " PON 10
MAKTX LIKE MAKT-MAKTX, "Material text 40
QTY(8) TYPE P DECIMALS 2 , "Qty 11
"qty 5
RATE(5) TYPE P DECIMALS 2 , "Rate 11
mod starts on 21/08 for inc size to 7
RATE(9) TYPE P DECIMALS 2 , "Rate 11
"Rate 7
mod ends - sanjay jajoo 21/08
DISCOUNT(7) TYPE P DECIMALS 2, "DISCOUNT 11
PROD-AMT(9) TYPE P DECIMALS 2, "AMOUNT 13
EXCISE(5) TYPE P DECIMALS 2 , "eXCISE TAX 11
SALES(5) TYPE P DECIMALS 2 , "SALES TAX 11
FREIGHT(5) TYPE P DECIMALS 2, "FREIGHT 11
OTHERS(9) TYPE P DECIMALS 2, " OTHERS 11 " added by vik on
*21.08.2008
TOTAL(9) TYPE P DECIMALS 2, "TOTAL 17
TOTAL1(9) TYPE P DECIMALS 2,
MATNR LIKE MARA-MATNR,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
END OF ITAB_DISPLAY.
DATA: BEGIN OF ITAB_TOTAL1 OCCURS 0,
HKONT LIKE BSEG-HKONT,
TOTAL TYPE P DECIMALS 2,
TXT50 LIKE SKAT-TXT50,
END OF ITAB_TOTAL1.
DATA: BEGIN OF ITAB_KONV OCCURS 0,
KNUMV LIKE KONV-KNUMV,
KPOSN LIKE KONV-KPOSN,
STUNR LIKE KONV-STUNR,
ZAEHK LIKE KONV-ZAEHK,
KSCHL LIKE KONV-KSCHL,
KWERT LIKE KONV-KWERT,
END OF ITAB_KONV.
DATA:BEGIN OF ITAB_RATE_MODVAT OCCURS 0,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MENGE LIKE EKPO-MENGE,
BRTWR LIKE EKPO-BRTWR,
KZWI5 LIKE EKPO-KZWI5,
KNUMV LIKE EKKO-KNUMV,
MATNR LIKE EKPO-MATNR,
TXZ01 LIKE EKPO-TXZ01,
END OF ITAB_RATE_MODVAT.
DATA: BEGIN OF ITAB_PO OCCURS 0,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
END OF ITAB_PO.
DATA: BEGIN OF ITAB_PO_ITEM OCCURS 0,
BELNR LIKE BSEG-BELNR,
EBELN LIKE BSEG-EBELN,
BUZID LIKE BSEG-BUZID,
XBLNR LIKE BKPF-XBLNR,
MATNR LIKE BSEG-MATNR,
EBELP LIKE BSEG-EBELP,
MENGE LIKE BSEG-MENGE,
WRBTR LIKE BSEG-WRBTR,
EXCISE LIKE BSEG-DMBTR, " ADDED ON 21/01/02 FOR 27500 EXCISE
SGTXT LIKE BSEG-SGTXT, " ADDED ON 24/01/02
FLAG,
END OF ITAB_PO_ITEM.
DATA:BEGIN OF I_LFA1 OCCURS 0,
LIFNR LIKE BSEG-LIFNR,
END OF I_LFA1.
DATA: BEGIN OF I_VENDOR OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
END OF I_VENDOR.
DATA: BEGIN OF ITAB_PO_OTHERS OCCURS 0,
BELNR LIKE BSEG-BELNR,
MATNR LIKE BSEG-MATNR,
EBELN LIKE BSEG-EBELN,
EBELP LIKE BSEG-EBELP,
MENGE LIKE BSEG-MENGE,
WRBTR LIKE BSEG-WRBTR,
END OF ITAB_PO_OTHERS.
DATA: BEGIN OF ITAB_FINAL OCCURS 0,
BUKRS LIKE BSEG-BUKRS,
BELNR LIKE BSEG-BELNR,
GJAHR LIKE BSEG-GJAHR,
BUZEI LIKE BSEG-BUZEI,
BUZID LIKE BSEG-BUZID,
SHKZG LIKE BSEG-SHKZG,
EBELN LIKE BSEG-EBELN,
EBELP LIKE BSEG-EBELP,
MENGE LIKE BSEG-MENGE,
WRBTR LIKE BSEG-WRBTR,
MATNR LIKE BSEG-MATNR,
HKONT LIKE BSEG-HKONT, " ADDED ON 21/01/02 FOR 27500 EXCISE
SGTXT LIKE BSEG-SGTXT, " ADDED ON 24/01/02 FOR SALES TAX
END OF ITAB_FINAL.
DATA : BEGIN OF ITAB OCCURS 100 ,
MWSKZ LIKE EKPO-MWSKZ , " St-cd
HKONT LIKE BSEG-HKONT , " Alloc-cd
MBLNR LIKE MKPF-MBLNR , " Sr-No
LIFNR LIKE LFA1-LIFNR , " Supp-cd
XBLNR LIKE BKPF-XBLNR , " Bill-no
BUDAT LIKE BKPF-BUDAT , " Bill-dt
DUE_DATE LIKE BSEG-ZFBDT , " Due date
PON LIKE EKKO-EBELN , " PON
BELNR LIKE BKPF-BELNR , " CCI no
DMBTR LIKE BSEG-DMBTR , " Prod-amount
EXCISE LIKE BSEG-DMBTR , " Excise / ModVAT
ST_INV LIKE BSEG-DMBTR , " Sales Tax Loaded on Inv.
ST_SET LIKE BSEG-DMBTR , " Sales Tax setoff .
OCT_TOT LIKE BSEG-DMBTR , " A,A, (29/03/2000) Octroi chargs
PT_PABLE LIKE BSEG-DMBTR , " Purchase tax payable
ST_TOT LIKE BSEG-DMBTR , " Sales Tax total
OTHR_CHRG LIKE BSEG-DMBTR , " Other chagres
NEBTR LIKE BSEG-NEBTR, " Total-amount
NAME1_VENDOR LIKE LFA1-NAME1, " Vendor Name
END OF ITAB.
DATA: BEGIN OF ITAB_DOC OCCURS 0,
BELNR LIKE BKPF-BELNR,
BLART LIKE BKPF-BLART,
END OF ITAB_DOC.
DATA : BEGIN OF DOCTAB OCCURS 100 ,
MWSKZ LIKE BSEG-MWSKZ ,
HKONT LIKE BSEG-HKONT ,
BELNR LIKE BKPF-BELNR ,
Changed By Pankaj 19.03.99
Included field fiscal year
GJAHR LIKE BKPF-GJAHR ,
BUDAT LIKE BKPF-BUDAT ,
XBLNR LIKE BKPF-XBLNR ,
LIFNR LIKE LFA1-LIFNR ,
ZTERM LIKE BSEG-ZTERM ,
AMOUNT LIKE BSEG-DMBTR ,
DMBTR LIKE BSEG-DMBTR ,
OTHR_CHRG LIKE BSEG-DMBTR ,
MBLNR LIKE MKPF-MBLNR ,
MJAHR LIKE MSEG-MJAHR ,
DUE_DATE LIKE BSEG-ZFBDT ,
PON LIKE EKKO-EBELN ,
JMO1 LIKE BSEG-DMBTR ,
JMO2 LIKE BSEG-DMBTR ,
JIP1 LIKE BSEG-DMBTR ,
JIP2 LIKE BSEG-DMBTR ,
************CH-ID-ADI-START-28 / 09 / 1999
JIP4 LIKE BSEG-DMBTR ,
ZTUT LIKE BSEG-DMBTR ,
*****************ABEY
ZOCT LIKE BSEG-DMBTR ,
*****************END
************CH-ID-ADI-START-28 / 09 / 1999
ZSET LIKE BSEG-DMBTR ,
ZPTX LIKE BSEG-DMBTR ,
BLART LIKE BKPF-BLART ,
END OF DOCTAB .
Download for EDP "EDP
DATA : BEGIN OF DOWNLOAD OCCURS 100 ,
SIGN1(1) ,
TOT_VAL(11) TYPE N,
SIGN2(1) ,
TAXABLE(11) TYPE N ,
SIGN3(1) ,
TOT_TAX(11) TYPE N ,
SIGN4(1) ,
SURCHARG(9) TYPE N ,
SIGN5(1) ,
ST_AMT(9) TYPE N ,
SIGN6(1) ,
OTH_CHRG(9) TYPE N ,
******************************ch-adi-start-28 / 09 / 1999
SIGN7(1),
TOT(9) TYPE N,
******************************ch-adi-end-28 / 09 / 1999
TYPE(1) TYPE N ,
STKY1(1) TYPE N ,
STBR(2) ,
STDV(2) ,
STCC(1) ,
STKY(1) ,
STDC(2) TYPE N ,
STTYP(1) ,
STCODE(2) ,
STRATE(2) TYPE N ,
STRTT(2) TYPE N ,
SERIAL_NO(6) TYPE N ,
STACP(9) ,
BLANK1(3) ,
STYRMN(6) ,
BLANK2(7) TYPE C .
DATA : END OF DOWNLOAD .
DATA : BEGIN OF GLTAB OCCURS 5 ,
MWSKZ LIKE BSEG-MWSKZ, " << ADD A.A. (01.02.2000)
HKONT LIKE BSEG-HKONT ,
DMBTR LIKE BSEG-DMBTR , " Prod-amount
EXCISE LIKE BSEG-DMBTR , " Excise / ModVAT
ST_INV LIKE BSEG-DMBTR , " Sales Tax Loaded on Inv.
ST_SET LIKE BSEG-DMBTR , " Sales Tax setoff .
PT_PABLE LIKE BSEG-DMBTR , " Purchase tax payable
ST_TOT LIKE BSEG-DMBTR , " Sales Tax total
OTHR_CHRG LIKE BSEG-DMBTR , " Other Charges
NEBTR LIKE BSEG-NEBTR. " Total-amount
DATA : END OF GLTAB .
DATA : BEGIN OF ERRORTAB OCCURS 5 .
INCLUDE STRUCTURE ITAB .
DATA : END OF ERRORTAB .
*- Start of change by Raj on 3-Spet-05
DATA : V_TMPVAL TYPE P DECIMALS 2.
*- End of change by Raj on 3-Spet-05
DATA : STRING LIKE BKPF-AWKEY ,
V_NO TYPE I,
V_EBELN LIKE BSEG-EBELN,
V_MATNR LIKE BSEG-MATNR. " ADDED ON 21/01/02 FOR BUZID = 'S'
Start of Insert by B.Elan on 23/12/2005
WORK AREA
DATA : WA_DISPLAY LIKE ITAB_DISPLAY.
DATA : V_UCOMM TYPE SY-UCOMM.
CONSTANTS : C_X TYPE C VALUE 'X'.
End of Insert by B.Elan on 23/12/2005
AT SELECTION-SCREEN ON T_BUKRS.
SELECT SINGLE * FROM T001 WHERE BUKRS = T_BUKRS .
IF SY-SUBRC NE 0 .
MESSAGE E368 WITH T_BUKRS TEXT-M01 .
ENDIF .
AT SELECTION-SCREEN ON T_MONAT.
PERFORM check_period_year USING 'X'. " COMMENTED
AT SELECTION-SCREEN ON T_GJAHR.
PERFORM check_period_year USING ' '. "COMMENTED
Start of Delete by B.Elan on 23/12/2005
*AT SELECTION-SCREEN ON RADIOBUTTON GROUP grp1 .
CLEAR fname .
DATA : BEGIN OF xt247 OCCURS 12 .
INCLUDE STRUCTURE t247 .
DATA : END OF xt247 .
CHECK dload EQ 'X' .
REFRESH xt247 .
IF poper EQ 'X' .
MESSAGE e368 WITH text-m05 .
ENDIF .
CALL FUNCTION 'MONTH_NAMES_GET'
TABLES
month_names = xt247
EXCEPTIONS
month_names_not_found = 1
OTHERS = 2.
READ TABLE xt247 WITH KEY mnr = t_monat .
CONCATENATE 'STAXSUMM.' xt247-ktx INTO fname .
CONCATENATE '
DOWNLOAD\' fname INTO fname1.
CONCATENATE zfile1 fname INTO zfile2.
CONDENSE fname1 NO-GAPS.
CONDENSE zfile2 NO-GAPS.
CONCATENATE 'STAXSUMM.' xt247-ktx INTO fname .
End of Delete by B.Elan on 23/12/2005
AT SELECTION-SCREEN OUTPUT .
LOOP AT SCREEN .
IF SCREEN-NAME EQ 'FNAME' .
SCREEN-INPUT = 0.
MODIFY SCREEN .
ENDIF .
IF SCREEN-GROUP2 EQ 'DBS' .
SCREEN-ACTIVE = 0 .
MODIFY SCREEN .
IF SCREEN-NAME EQ 'BR_BLART-LOW' .
Form the select option for the LDB .
CLEAR BR_BLART . REFRESH BR_BLART .
BR_BLART-SIGN = 'I' .
BR_BLART-OPTION = 'EQ' .
BR_BLART-LOW = 'RE' .
APPEND BR_BLART .
BR_BLART-SIGN = 'I' .
BR_BLART-OPTION = 'EQ' .
BR_BLART-LOW = 'SR' .
APPEND BR_BLART .
BR_BLART-SIGN = 'I' .
BR_BLART-OPTION = 'EQ' .
BR_BLART-LOW = 'SP' .
APPEND BR_BLART . " ADD ON 11122003 JAJ
BR_BLART-SIGN = 'I' .
BR_BLART-OPTION = 'EQ' .
br_blart-low = 'VI' .
BR_BLART-LOW = 'ST'.
APPEND BR_BLART .
BR_BLART-LOW = 'S1'.
APPEND BR_BLART .
BR_BLART-LOW = 'P1'.
APPEND BR_BLART .
BR_BLART-LOW = 'PM'.
APPEND BR_BLART .
BR_BLART-LOW = 'R1'.
APPEND BR_BLART .
BR_BLART-SIGN = 'I' .
BR_BLART-OPTION = 'EQ' .
BR_BLART-LOW = 'KR' .
APPEND BR_BLART .
BR_BLART-SIGN = 'I' .
BR_BLART-OPTION = 'EQ' .
*************CH-ID-ADI---30 / 09 / 1999.
BR_BLART-LOW = 'RA'.
APPEND BR_BLART .
BR_BLART-SIGN = 'I' .
BR_BLART-OPTION = 'EQ' .
BR_BLART-LOW = 'EM'.
APPEND BR_BLART .
BR_BLART-SIGN = 'I' .
BR_BLART-OPTION = 'EQ' .
BR_BLART-LOW = 'EI' .
APPEND BR_BLART .
ENDIF .
ENDIF .
CHECK SCREEN-GROUP1 EQ 'DAT' .
SCREEN-INPUT = 0.
MODIFY SCREEN .
ENDLOOP .
START-OF-SELECTION .
Block 1 - Selection of accounting documents in the posting period
is done through the LDB
GET BKPF .
commented on 22/08
CHECK BKPF-MONAT = T_MONAT.
CHECK BKPF-MONAT IN T_MONAT.
CHECK BKPF-GJAHR = T_GJAHR.
CHECK BKPF-STBLG IS INITIAL . "<<<< Reversed
*CHECK bkpf-budat IN t_budat .
CHECK BKPF-BUKRS EQ T_BUKRS .
CHECK BKPF-BUKRS EQ T_BUKRS .
CHECK BKPF-BSTAT EQ SPACE . "<<< Sample docs
CHECK BKPF-BLART EQ 'RE' "MM-IV
OR BKPF-BLART EQ 'KR' "FI-IV
OR bkpf-blart EQ 'VI' "FI-IV Direct
*************CH-ID-ADI-30 / 09 / 1999
OR bkpf-blart EQ 'RA' "CASH CCI
OR bkpf-blart EQ 'EM' "MAINTAINANCE
OR bkpf-blart EQ 'EI' . "IDT
OR BKPF-BLART EQ 'P1'
OR BKPF-BLART EQ 'PM'
OR BKPF-BLART EQ 'R1'
OR BKPF-BLART EQ 'S1'
OR BKPF-BLART EQ 'ST'
OR BKPF-BLART EQ 'SR' " ADD ON 101203 JAJ
OR BKPF-BLART EQ 'SP'.
*************CH-ID-ADI-30 / 09 / 1999
CLEAR DOCTAB .
DOCTAB-BLART = BKPF-BLART .
DOCTAB-BELNR = BKPF-BELNR .
DOCTAB-BUDAT = BKPF-BUDAT .
DOCTAB-XBLNR = BKPF-XBLNR .
Added By Pankaj 19.03.99
Initializing fiscal year for document table
DOCTAB-GJAHR = BKPF-GJAHR .
APPEND DOCTAB.
Tax details
GET BSET . " Commented because LDB gives wrong BSET entries
" for some documents
CASE BSET-KSCHL .
WHEN 'JMO1' .
DOCTAB-JMO1 = DOCTAB-JMO1 + BSET-HWSTE .
WHEN 'JMO2' .
DOCTAB-JMO2 = DOCTAB-JMO2 + BSET-HWSTE .
WHEN 'JIP1' .
DOCTAB-JIP1 = DOCTAB-JIP1 + BSET-HWSTE .
WHEN 'JIP2' .
DOCTAB-JIP2 = DOCTAB-JIP2 + BSET-HWSTE .
WHEN 'ZSET' .
break deven .
DOCTAB-ZSET = DOCTAB-ZSET + BSET-HWSTE .
WHEN 'ZPTX' .
DOCTAB-ZPTX = DOCTAB-ZPTX + BSET-HWSTE .
ENDCASE .
DOCTAB-MWSKZ = BSET-MWSKZ.
MODIFY DOCTAB INDEX SY-TABIX.
Item details
*changed by srinivas yerra.
GET BSEG .
IF BSEG-KOART = 'K' . "<<< Vendor Line
IF BSEG-KOART = 'K' .
*end of chnages by srinivas yerra.
DOCTAB-LIFNR = BSEG-LIFNR .
IF NOT BSEG-ZTERM IS INITIAL .
DOCTAB-ZTERM = BSEG-ZTERM .
DOCTAB-DUE_DATE = BSEG-ZFBDT + BSEG-ZBD1T .
ENDIF .
IF BSEG-SHKZG EQ 'H' . "<< Add credits
DOCTAB-AMOUNT = DOCTAB-AMOUNT + BSEG-DMBTR .
ELSE . "<< Subtr debits
DOCTAB-AMOUNT = DOCTAB-AMOUNT - BSEG-DMBTR .
ENDIF .
ENDIF .
CASE BSEG-KTOSL .
WHEN 'WRX' .
DOCTAB-PON = BSEG-EBELN .
IF DOCTAB-MWSKZ IS INITIAL .
DOCTAB-MWSKZ = BSEG-MWSKZ .
ENDIF .
WHEN 'BSX' .
***********ABEY
IF NEXT = BSEG-BUZEI
AND
DOC = BSEG-BELNR
AND
( BSEG-BUZID = 'M'
OR
BSEG-HKONT = 50765 ).
DOCTAB-ZOCT = DOCTAB-ZOCT + BSEG-DMBTR.
IF BSEG-SHKZG EQ 'H' . "<< Subtr credits
DOCTAB-OTHR_CHRG = DOCTAB-OTHR_CHRG - BSEG-DMBTR .
ELSE . "<< Add debits
DOCTAB-OTHR_CHRG = DOCTAB-OTHR_CHRG + BSEG-DMBTR .
ENDIF .
ENDIF .
************END
IF BSEG-SHKZG EQ 'S' .
DOCTAB-DMBTR = DOCTAB-DMBTR + BSEG-DMBTR .
ELSE .
DOCTAB-DMBTR = DOCTAB-DMBTR - BSEG-DMBTR .
ENDIF .
WHEN 'OCT' OR 'FRE' OR 'FR1' OR SPACE .
*****CH-ID-ADI-30 / 09 /1999.
IF ( ( BKPF-BLART = 'EM' OR BKPF-BLART = 'RA' OR BKPF-BLART =
'EI')
AND BSEG-KTOSL = SPACE ) OR BSEG-MWSKZ = '9W' OR BSEG-MWSKZ =
'K9' OR
BSEG-MWSKZ =
'X9'.
DOCTAB-OTHR_CHRG = 0.
ELSE.
*********CH-ID-ADI--01 / 10 / 1999
Other Charges only for accounts other than vendor acc.
CHECK BSEG-BUZID NE 'T' .
CHECK BSEG-BUZID NE 'P' .
IF BSEG-KOART NE 'K' .
*********ABEY (25/02/2000), (21/02/2000)
IF BSEG-BUZID = 'F'
OR BSEG-HKONT = 75461.
NEXT = BSEG-BUZEI + 1.
DOC = BSEG-BELNR.
DOCTAB-ZOCT = DOCTAB-ZOCT + BSEG-DMBTR.
ENDIF.
IF BSEG-BUZEI = NEXT
AND
( BSEG-BUZID = 'M'
OR
BSEG-HKONT = 50765 ).
DOCTAB-ZOCT = DOCTAB-ZOCT + BSEG-DMBTR.
ENDIF.
*********END
IF BSEG-SHKZG EQ 'H' . "<< Subtr credits
DOCTAB-OTHR_CHRG = DOCTAB-OTHR_CHRG - BSEG-DMBTR .
ELSE . "<< Add debits
DOCTAB-OTHR_CHRG = DOCTAB-OTHR_CHRG + BSEG-DMBTR .
ENDIF .
ENDIF .
*****NEXT-LINE ADDED BY ADI
ENDIF .
*************END.
ENDCASE .
*CHANGED BY SRINIVAS YERRA
*MODIFY DOCTAB INDEX SY-TABIX.
APPEND DOCTAB.
*END OF CHANGES.
PO History
GET EKBE .
CHECK DOCTAB-BELNR EQ EKBE-BELNR .
DOCTAB-MBLNR = EKBE-LFBNR .
DOCTAB-MJAHR = EKBE-LFGJA .
MODIFY DOCTAB INDEX SY-TABIX .
PERFORM show_indicator USING text-m02 .
*PERFORM convert_data.
END-OF-SELECTION .
Data read from LDB is converted into printable format.
PERFORM SHOW_INDICATOR USING TEXT-M04 .
PERFORM CONVERT_DATA .
Start of Delete by B.Elan on 23/12/2005
IF stax_reg EQ 'X' . "<<< Add
SORT itab BY mwskz hkont belnr .
ELSE . "<<< Add
SORT itab BY belnr . "<<< Add
SORT itab BY pon.
ENDIF . "<<< Add
Perform further operation based on user input
IF display EQ 'X' .
PERFORM write_itab.
PERFORM write_data .
ELSE .
PERFORM download_data .
ENDIF .
End of Delete by B.Elan on 23/12/2005
Start of Insert by B.Elan on 23/12/2005
SORT ITAB BY BELNR.
PERFORM WRITE_DATA.
IF MAT_SM = C_X.
PERFORM WRITE_MATERIAL_SUMMARY.
ELSEIF MAT_DT = C_X.
PERFORM WRITE_MATERIAL_DETAILS.
ELSEIF VEN_SM = C_X.
PERFORM WRITE_VENDOR_SUMMARY.
ELSEIF VEN_DT = C_X.
PERFORM WRITE_VENDOR_DETAILS.
ENDIF.
End of Insert by B.Elan on 23/12/2005
Start of Insert by B.Elan on 23/12/2005
AT USER-COMMAND.
V_UCOMM = SY-UCOMM.
CASE V_UCOMM.
WHEN 'DETLS'.
NEW-PAGE.
PUR_DB = C_X.
PERFORM CLEAR_DETAILS.
PERFORM WRITE_DATA.
WHEN 'MSUMRY'.
PERFORM WRITE_MATERIAL_SUMMARY.
WHEN 'MDETL'.
PERFORM WRITE_MATERIAL_DETAILS.
WHEN 'VSUMRY'.
PERFORM WRITE_VENDOR_SUMMARY.
WHEN 'VDETL'.
PERFORM WRITE_VENDOR_DETAILS.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
End of Insert by B.Elan on 23/12/2005
*- - - - - - - - - End Of Execution .- - - - - - - - - - - - - - - - - -
TOP-OF-PAGE .
IF PUR_DB = C_X.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_PUR_DB.
ELSEIF MAT_SM = C_X.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_MAT_SM.
ELSEIF MAT_DT = C_X.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_MAT_DT.
ELSEIF VEN_SM = C_X.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_VEN_SM.
ELSEIF VEN_DT = C_X.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_VEN_DT.
ENDIF.
TOP-OF-PAGE DURING LINE-SELECTION.
CASE V_UCOMM.
WHEN 'DETLS'.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_PUR_DB.
WHEN 'MSUMRY'.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_MAT_SM.
WHEN 'MDETL'.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_MAT_DT.
WHEN 'VSUMRY'.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_VEN_SM.
WHEN 'VDETL'.
PERFORM TOP_OF_PAGE.
PERFORM TOP_OF_PAGE_VEN_DT.
ENDCASE.
*& Form WRITE_DATA
text *
FORM WRITE_DATA.
DATA: V_SALES LIKE ITAB_DISPLAY-SALES,
V_RATE LIKE ITAB_DISPLAY-RATE,
V_DISCOUNT LIKE ITAB_DISPLAY-DISCOUNT,
V_PROD-AMT LIKE ITAB_DISPLAY-PROD-AMT,
V_EXCISE1 LIKE ITAB_DISPLAY-EXCISE,
V_EXCISE LIKE ITAB_DISPLAY-EXCISE,
V_PON LIKE ITAB_DISPLAY-PON,
V_OTHERS LIKE ITAB_DISPLAY-OTHERS,
V_FREIGHT LIKE ITAB_DISPLAY-FREIGHT.
CLEAR ITAB .
Write the correct data i.e. tax code and G/L code both available .
LOOP AT ITAB .
*************CH-ID-ADI-30 / 09 / 1999
IF ( ITAB-MWSKZ = '9W' OR ITAB-MWSKZ = 'K9' OR ITAB-MWSKZ = 'X9' )
AND ITAB-OTHR_CHRG NE 0 .
ITAB-DMBTR = ITAB-OTHR_CHRG.
ITAB-OTHR_CHRG = 0.
MODIFY ITAB.
ENDIF.
ENDLOOP.
LOOP AT ITAB.
I_LFA1-LIFNR = ITAB-LIFNR.
APPEND I_LFA1.
CLEAR I_LFA1.
ENDLOOP.
SORT I_LFA1.
DELETE ADJACENT DUPLICATES FROM I_LFA1 COMPARING ALL FIELDS.
SELECT LIFNR
NAME1
FROM LFA1 INTO TABLE I_VENDOR
FOR ALL ENTRIES IN I_LFA1 WHERE
LIFNR = I_LFA1-LIFNR.
FREE I_LFA1.
LOOP AT ITAB.
READ TABLE I_VENDOR WITH KEY LIFNR = ITAB-LIFNR .
IF SY-SUBRC EQ 0.
ITAB-NAME1_VENDOR = I_VENDOR-NAME1.
MODIFY ITAB TRANSPORTING NAME1_VENDOR.
ENDIF.
ENDLOOP.
LOOP AT ITAB.
IF NOT ITAB-LIFNR IN S_VENDOR.
DELETE ITAB.
ENDIF.
ENDLOOP.
SELECT BUKRS BELNR GJAHR BUZEI BUZID SHKZG EBELN EBELP ERFMG WRBTR
MATNR HKONT SGTXT " ERFMG for MENGE,HKONT,SGTXT Added by KrishnaMohan
INTO TABLE ITAB_FINAL
FROM BSEG FOR ALL ENTRIES IN ITAB
WHERE BUKRS = T_BUKRS AND "'1000' AND
BELNR = ITAB-BELNR AND
*added by srinivas
hkont in zgl and
*end
GJAHR = T_GJAHR AND
*- Start of change by Raj on 030905
buzid IN ('W', 'M', 'K', 'S', 'F' , 'P' ) AND
BUZID IN ('W', 'M', 'K', 'S', 'F' , 'P' , 'T', ' ') AND
" ADD T 090206 JAJ
KOART <> 'K' AND " mod by vik on 21.08.2008" sjaj si
*- End of change by Raj on 030905
BUZID = P Added on 21/01/02 by Krishna Mohan
GSBER IN P_GSBER AND
gsber IN p_gsber OR gsber = ' ' AND
MATNR IN S_MATNR.
SELECT BELNR BLART INTO TABLE ITAB_DOC FROM BKPF
FOR ALL ENTRIES IN ITAB_FINAL WHERE
BUKRS = T_BUKRS AND "'1000' AND
BELNR = ITAB_FINAL-BELNR AND
GJAHR = T_GJAHR AND
BLART NOT IN ('WA' , 'WE').
SORT ITAB_DOC BY BELNR BLART.
LOOP AT ITAB_DOC.
IF NOT ITAB_DOC-BLART IN S_DOCTYP .
DELETE ITAB_DOC.
ENDIF.
ENDLOOP.
LOOP AT ITAB_FINAL.
READ TABLE ITAB_DOC WITH KEY BELNR = ITAB_FINAL-BELNR BINARY SEARCH.
IF SY-SUBRC NE 0.
DELETE ITAB_FINAL.
ENDIF.
ENDLOOP.
DELETE ITAB_FINAL WHERE BUZID = 'K' AND BUZEI = '1'.
LOOP AT ITAB_FINAL WHERE SHKZG = 'H'.
ITAB_FINAL-WRBTR = ITAB_FINAL-WRBTR * ( -1 ).
MODIFY ITAB_FINAL TRANSPORTING WRBTR.
ENDLOOP.
LOOP AT ITAB_FINAL WHERE BUZID = 'M'.
IF ITAB_FINAL-SGTXT NE ' '.
TRANSLATE ITAB_FINAL-SGTXT TO UPPER CASE.
MODIFY ITAB_FINAL.
ENDIF.
ENDLOOP.
LOOP AT ITAB_FINAL .
IF ITAB_FINAL-BUZID = 'W'.
CLEAR V_MATNR.
V_EBELN = ITAB_FINAL-EBELN.
V_MATNR = ITAB_FINAL-MATNR.
ITAB_PO_ITEM-BELNR = ITAB_FINAL-BELNR.
ITAB_PO_ITEM-BUZID = ITAB_FINAL-BUZID.
ITAB_PO_ITEM-MATNR = ITAB_FINAL-MATNR.
ITAB_PO_ITEM-EBELN = ITAB_FINAL-EBELN.
ITAB_PO_ITEM-EBELP = ITAB_FINAL-EBELP.
ITAB_PO_ITEM-MENGE = ITAB_FINAL-MENGE.
ITAB_PO_ITEM-WRBTR = ITAB_FINAL-WRBTR.
COLLECT ITAB_PO_ITEM.
CLEAR ITAB_PO_ITEM.
ELSEIF ITAB_FINAL-BUZID = 'M' OR ITAB_FINAL-BUZID = 'K' OR
ITAB_FINAL-BUZID = 'S' OR
ITAB_FINAL-BUZID = 'P' OR " ADDED ON 21/01/02
*- Start of change by Raj on 030905
ITAB_FINAL-BUZID = ' ' OR
ITAB_FINAL-BUZID = 'T' OR " ADD BY JAJ ON 090206
*- End of change by Raj on 030905
ITAB_FINAL-BUZID = 'F'.
IF ITAB_FINAL-MATNR IS INITIAL.
ITAB_FINAL-MATNR = V_MATNR.
ENDIF.
CLEAR V_MATNR.
ITAB_PO_OTHERS-BELNR = ITAB_FINAL-BELNR.
ITAB_PO_OTHERS-MATNR = ITAB_FINAL-MATNR.
ITAB_PO_OTHERS-EBELN = ITAB_FINAL-EBELN.
ITAB_PO_OTHERS-EBELP = ITAB_FINAL-EBELP.
ITAB_PO_OTHERS-MENGE = ITAB_FINAL-MENGE.
ITAB_PO_OTHERS-WRBTR = ITAB_FINAL-WRBTR.
IF CONDITION,ADDED ON 21/01/02 FOR GETTING EXCISE WHEN CONDITION MEETS
ie TOTAL AMOUNT = EXCISE WHEN BUZID = S AND HKONT = 27500
*IF itab_final-buzid = 'S' AND ( itab_final-hkont = '0000027500' OR "
*COMM BY JAJ ON 090206
IF ITAB_FINAL-BUZID = 'S' OR ITAB_FINAL-BUZID = 'T' AND (
ITAB_FINAL-HKONT = '0000027500' OR
ITAB_FINAL-HKONT = '0000027515'
OR ITAB_FINAL-HKONT = '0000027550' " jaj on 090206
OR ITAB_FINAL-HKONT = '0000027507' OR
ITAB_FINAL-HKONT = '0000027508'). "Added on 050905 - Raj
ITAB_FINAL-EBELN = V_EBELN.
to get ebeln value into header so that when there are 2 po's
and 2 W's excise can go into only one po which is v_ebeln
Start of insert by B.Elan on 10/02/2006
READ TABLE ITAB_PO_ITEM WITH KEY BELNR = ITAB_FINAL-BELNR
EBELN = ITAB_FINAL-EBELN
MATNR = ITAB_FINAL-MATNR.
ITAB_PO_ITEM-EXCISE = ITAB_PO_ITEM-EXCISE + ITAB_FINAL-WRBTR.
End of insert by B.Elan on 10/02/2006
Start of delete by B.Elan on 10/02/2006
itab_po_item-excise = itab_final-wrbtr.
End of delete by B.Elan on 10/02/2006
MODIFY ITAB_PO_ITEM TRANSPORTING EXCISE
WHERE BELNR EQ ITAB_FINAL-BELNR AND
EBELN EQ ITAB_FINAL-EBELN.
CLEAR ITAB_PO_ITEM.
ELSE.
COLLECT ITAB_PO_OTHERS.
ENDIF.
CLEAR ITAB_PO_OTHERS.
ENDIF.
ENDLOOP.
sateesh
SORT ITAB_PO_ITEM BY BELNR EBELN.
LOOP AT ITAB_PO_ITEM.
AT NEW BELNR.
AT NEW EBELN.
READ TABLE ITAB_PO_ITEM INDEX SY-TABIX.
ITAB_PO_ITEM-FLAG = 'X'.
MODIFY ITAB_PO_ITEM INDEX SY-TABIX.
ENDAT.
ENDAT.
ENDLOOP.
LOOP AT ITAB_PO_ITEM.
ITAB_PO_ITEM-EXCISE = 0.
MODIFY ITAB_PO_ITEM TRANSPORTING EXCISE
WHERE EXCISE > 0
AND FLAG = SPACE.
ENDLOOP.
end
LOOP AT ITAB_PO_ITEM.
ITAB_PO-EBELN = ITAB_PO_ITEM-EBELN.
ITAB_PO-EBELP = ITAB_PO_ITEM-EBELP.
APPEND ITAB_PO.
CLEAR ITAB_PO.
ENDLOOP.
LOOP AT ITAB_PO_OTHERS.
ITAB_PO-EBELN = ITAB_PO_OTHERS-EBELN.
ITAB_PO-EBELP = ITAB_PO_OTHERS-EBELP.
APPEND ITAB_PO.
CLEAR ITAB_PO.
ENDLOOP.
SORT ITAB_PO.
DELETE ADJACENT DUPLICATES FROM ITAB_PO COMPARING ALL FIELDS.
SELECT EKPO~EBELN
EBELP
MENGE
BRTWR
KZWI5
EKKO~KNUMV
EKPO~MATNR
EKPO~TXZ01
INTO TABLE ITAB_RATE_MODVAT
FROM EKPO INNER JOIN EKKO
ON EKPO~EBELN = EKKO~EBELN
FOR ALL ENTRIES IN ITAB_PO WHERE
EKPO~EBELN = ITAB_PO-EBELN AND
EBELP = ITAB_PO-EBELP.
SELECT KNUMV KPOSN STUNR ZAEHK KSCHL KWERT
INTO TABLE ITAB_KONV
FROM KONV
FOR ALL ENTRIES IN ITAB_RATE_MODVAT
WHERE KNUMV = ITAB_RATE_MODVAT-KNUMV AND
KSCHL IN ('YT02', 'YF07', 'YOTH', 'YPF1', 'YD01', 'YD02', 'YD03' ) .
SORT ITAB_KONV BY KNUMV KSCHL.
SORT ITAB BY BELNR.
SORT ITAB_RATE_MODVAT BY EBELN EBELP.
SORT ITAB_PO_OTHERS BY BELNR MATNR.
LOOP AT ITAB_PO_ITEM.
ITAB_DISPLAY-BELNR = ITAB_PO_ITEM-BELNR.
READ TABLE ITAB_DOC WITH KEY BELNR = ITAB_PO_ITEM-BELNR BINARY
SEARCH.
IF SY-SUBRC EQ 0.
ITAB_DISPLAY-BLART = ITAB_DOC-BLART.
ENDIF.
READ TABLE ITAB WITH KEY BELNR = ITAB_PO_ITEM-BELNR BINARY SEARCH.
IF SY-SUBRC EQ 0.
ITAB_DISPLAY-XBLNR = ITAB-XBLNR.
ITAB_PO_ITEM-XBLNR = ITAB-XBLNR.
ITAB_DISPLAY-NAME1_VENDOR = ITAB-NAME1_VENDOR.
ITAB_DISPLAY-HKONT = ITAB-HKONT.
ITAB_DISPLAY-MWSKZ = ITAB-MWSKZ.
ITAB_DISPLAY-BUDAT = ITAB-BUDAT.
ITAB_DISPLAY-DUE_DATE = ITAB-DUE_DATE.
ITAB_DISPLAY-PON = ITAB_PO_ITEM-EBELN.
ENDIF.
ITAB_DISPLAY-QTY = ITAB_PO_ITEM-MENGE.
READ TABLE ITAB_RATE_MODVAT WITH KEY EBELN = ITAB_PO_ITEM-EBELN
EBELP = ITAB_PO_ITEM-EBELP
BINARY SEARCH.
IF SY-SUBRC EQ 0.
ITAB_DISPLAY-PON = ITAB_PO_ITEM-EBELN.
ITAB_DISPLAY-MATNR = ITAB_RATE_MODVAT-MATNR.
ITAB_DISPLAY-MAKTX = ITAB_RATE_MODVAT-TXZ01.
ITAB_DISPLAY-RATE = ITAB_RATE_MODVAT-BRTWR /
ITAB_RATE_MODVAT-MENGE.
ITAB_DISPLAY-PROD-AMT = ITAB_DISPLAY-RATE * ITAB_PO_ITEM-MENGE.
IF ITAB_PO_ITEM-EXCISE NE 0.
ITAB_DISPLAY-EXCISE = ITAB_PO_ITEM-EXCISE.
ELSE.
*ITAB_DISPLAY-EXCISE = ( ITAB_PO_ITEM-MENGE * ITAB_RATE_MODVAT-KZWI5 ) /
ITAB_RATE_MODVAT-MENGE.
*commentedon 210102 to get excise directly from BSEG - IV
ENDIF.
ENDIF.
READ TABLE ITAB_KONV WITH KEY KNUMV = ITAB_RATE_MODVAT-KNUMV
KPOSN = ITAB_RATE_MODVAT-EBELP
KSCHL = 'YT02' .
IF SY-SUBRC EQ 0.
ITAB_DISPLAY-SALES = ( ITAB_PO_ITEM-MENGE * ITAB_KONV-KWERT ) /
ITAB_RATE_MODVAT-MENGE.
READ TABLE ITAB_FINAL WITH KEY BELNR = ITAB_PO_ITEM-BELNR
BUZID = 'M'
SGTXT(9) = 'SALES TAX'.
IF SY-SUBRC EQ 0.
IF ITAB_FINAL-SGTXT(9) EQ 'SALES TAX'
OR ITAB_FINAL-SGTXT(9) EQ 'sales tax'.
ITAB_DISPLAY-SALES = ITAB_DISPLAY-SALES + ITAB_FINAL-WRBTR.
ENDIF.
ENDIF.
ENDIF.
READ TABLE ITAB_KONV WITH KEY KNUMV = ITAB_RATE_MODVAT-KNUMV
KPOSN = ITAB_RATE_MODVAT-EBELP
KSCHL = 'YF07'.
IF SY-SUBRC EQ 0.
ITAB_DISPLAY-FREIGHT = ( ITAB_PO_ITEM-MENGE * ITAB_KONV-KWERT ) /
ITAB_RATE_MODVAT-MENGE.
ENDIF.
READ TABLE ITAB_KONV WITH KEY KNUMV = ITAB_RATE_MODVAT-KNUMV
KPOSN = ITAB_RATE_MODVAT-EBELP
KSCHL = 'YD01' .
IF SY-SUBRC EQ 0.
ITAB_DISPLAY-DISCOUNT = ( ITAB_PO_ITEM-MENGE * ITAB_KONV-KWERT ) /
ITAB_RATE_MODVAT-MENGE.
ELSE.
READ TABLE ITAB_KONV WITH KEY KNUMV = ITAB_RATE_MODVAT-KNUMV
KPOSN = ITAB_RATE_MODVAT-EBELP
KSCHL = 'YD02' .
IF SY-SUBRC EQ 0.
ITAB_DISPLAY-DISCOUNT = ( ITAB_PO_ITEM-MENGE * ITAB_KONV-KWERT )
ITAB_RATE_MODVAT-MENGE.
ELSE.
READ TABLE ITAB_KONV WITH KEY KNUMV = ITAB_RATE_MODVAT-KNUMV
KPOSN = ITAB_RATE_MODVAT-EBELP
KSCHL = 'YD03' .
IF SY-SUBRC EQ 0.
ITAB_DISPLAY-DISCOUNT = ( ITAB_PO_ITEM-MENGE * ITAB_KONV-KWERT
ITAB_RATE_MODVAT-MENGE.
ENDIF.
ENDIF.
ENDIF.
LOOP AT ITAB_KONV WHERE KNUMV = ITAB_RATE_MODVAT-KNUMV AND KPOSN =
ITAB_RATE_MODVAT-EBELP AND
( KSCHL = 'YPF1' OR KSCHL = 'YOTH' ) .
ITAB_KONV-KWERT = ( ITAB_PO_ITEM-MENGE * ITAB_KONV-KWERT ) /
ITAB_RATE_MODVAT-MENGE.
ITAB_DISPLAY-OTHERS = ITAB_DISPLAY-OTHERS + ITAB_KONV-KWERT.
ENDLOOP.
READ TABLE ITAB_PO_OTHERS WITH KEY BELNR = ITAB_PO_ITEM-BELNR.
EBELN = ITAB_PO_ITEM-EBELN.
BINARY SEARCH.
sateesh as on 10092003
IF SY-SUBRC NE 0. CLEAR ITAB_PO_OTHERS. ENDIF.
end
IF NOT ITAB_PO_OTHERS-EBELN IS INITIAL.
READ TABLE ITAB_PO_OTHERS WITH KEY EBELN = ITAB_PO_ITEM-EBELN
EB -
Skip first screen of BD87 using call transaction with BDC_DATA option
hello all,
i am using call transaction with BDC_DATA option and i want to skip first screen, so can anyone please tell me how can i skip first screen of BD87 and get second screen that is output screen?
regards.Hi
Build a BDCDATA with following code..
T BD87
RBDMON00 1100 X
BDC_CURSOR SX_DOCNU-LOW
BDC_OKCODE =CRET
SX_DOCNU-LOW
SX_CRETI-LOW 00:00:00
SX_CRETI-HIGH 00:00:00
SX_UPDDA-LOW 05.02.2010
SX_UPDDA-HIGH 05.02.2010
SX_UPDTI-LOW 00:00:00
SX_UPDTI-HIGH 00:00:00
RBDMON00 0100 X
BDC_OKCODE =BACK
RBDMON00 1100 X
BDC_OKCODE /ECBAC
BDC_CURSOR SX_DOCNU-LOW -
Passing select-options values using call transaction method
Hi Experts,
I have a scenario in which i have three fields BUKRS,WERKS and MATKL in an internal table i_tab and I have MATNR as a selection-option.
After this I have to use call transaction <tcode> for all the line items in the internal table and the MATNR select-option values I have to pass directly for each line of i_tab using call transaction method.
TYPES: BEGIN OF t_tab,
bukrs TYPE bukrs,
werks TYPE werks_d,
matkl TYPE matkl,
END OF t_tab.
DATA: w_tab TYPE t_tab,
i_tab TYPE STANDARD TABLE OF t_tab.
SELECT-OPTIONS: s_matnr FOR marc-matnr.
Now I am putting a loop at i_tab and have to use CALL TRANSACTION <TCODE> for each line with the SELECT-OPTIONS for MATNR.
Please tell me whether we can pass multiple ranges for MATNR using call transcation method.
for example there can be multiple single values/multiple ranges/excluded ranges for MATNR. so please suggest me how tho achieve this sceanrio using CALL transaction method of BDC.
Thanks a lot.
Regards,
KrishanHi Krishan,
For the Call transaction TCODE there is extension ....OPTIONS from OPT. Just Check it out. I think it is possible like this.
... OPTIONS FROM opt
*Effect*
This addition gives you control using the values of the components of the structure opt, which must be of the Dictionary type CTU_PARAMS. The components have the following meaning:
DISMODE
Processing mode (comparable with the MODE addition)
UPDMODE
Update mode (comparable with the UPDATE addition)
CATTMODE
CATT mode (controlling a CATT procedure)
The CATT mode can have the following values:
' ' No CATT procedure active
'N' CATT procedure without single screen control
'A' CATT procedure with single screen control
DEFSIZE
Use standard window size
RACOMMIT
COMMIT WORK does not end CATT procedure
NOBINPT
No batch input mode, that s SY-BINPT = SPACE.
NOBIEND
No batch input mode after BDC data has been read
The components DEFSIZE , RACOMMIT, NOBINPT, NOBIEND always take the following values:
'X' Yes
' ' No
If the OPTIONS addition is omitted, the following settings are valid for the control parameters:
DISMODE from the MODE addition
UPDMODE
from the UPDATE addition
CATTMODE
No CATT procedure active
DEFSIZE
Do not use standard window size
RACOMMIT
COMMIT WORK ends procedure successfully
NOBINPT
Batch input mode, that is SY-BINPT =X.
NOBIEND
Batch input mode also active after BDC data has been read
Regards,
Swapna. -
Supress message in status bar when using Call Transaction
Hi,
I have designed a RF program and I am using a BDC program to call LT11 transaction for confirming TO.
As this was a Flowrack storage type we will assign Source HU during TO confirmation. So I went for a BDC.
But after confirmation I am getting a Status message TO XXX confirmed in the status bar which is also displayed in the RF Screen for every line item confirmed. I want to supress this message.
I am getting this message in the messtab table as well by using Call Transaction. So how can I supress this message in Status bar.
Please let me know for more information.
Thanks,
Manoj.>
kaka79 wrote:
> I have designed a RF program and I am using a BDC program to call LT11 transaction for confirming TO.
> But after confirmation I am getting a Status message TO XXX confirmed in the status bar which is also displayed in the RF Screen for every line item confirmed. I want to supress this message.
> I am getting this message in the messtab table as well by using Call Transaction. So how can I supress this message in Status bar.
The CTU (CALL TRANSACTION ... USING ...) captures and stores all the messages into the message internal table (... MESSAGES INTO itab ...), but they are not displayed. So, if one of them appears in the status bar, it's because there is an additional MESSAGE ... statement in the program using the CTU. So look at it and add a condition before the MESSAGE statement to not output this exact message (click the message on status bar to get the message number, or debug the program to get it from the message internal table). -
Creating PO with me21 using call transaction
hi,
I need some help regarding the application:
i have to build a custom screen having fields for creating PO using me21 transaction using call transaction.
would anybdy please guide me how to do it.
i wd appreciate ur helpHi Harpreet
For creating a custom screen you will ve to use a screen exit. For purchase order 'MM06E005' will be useful. Explore it in XN SMOD.
Regards
PRAFUL -
Updating custom table using call transaction
How to update a custom table using Call Transaction method. How can we use Table control (Module Pool) for this purpose).
Vignesh,
Create a table maintenance transaction for ur custom tables. Check this link for ref...
http://allaboutsap.blogspot.com/2007/04/table-maintenance-in-sap-step-by-step.html
And create a BDC recording and code a program accordingly...
regards,
karthik
Maybe you are looking for
-
Unable to load database driver from my applet's jar file
I'm trying to set up an applet that will talk to a MySQL database. I have no problem connecting to the database as I'm developing the code ("un-jarred"), but when I create a jar file of my code to test through a web browser, I cannot connect to the d
-
My laptop got stolen and I want to sync my current ipad with the new Macbook
Hi all, Unfortunately, my previous macbook was stolen, and now I just bought the new one, and I would like to sync my iPad with this new laptop. However, when I plug the iPad, there was a message from iTunes saying that my iPad is not sync with this
-
I have an old Mac Tower. I need to move data from the unit to an external hard drive. What kind of of hard drive must I purchase so that it works with the Tower? There is not a lot to transfer.
-
I'm pretty sure I'm missing a tab in my icon editor... Can anybody tell me where my missing tab (forgot the name of it) has been gone to? Furthermore I can't synchronize with the NI icon library. The problems occured today for the first time. After
-
Passing variable of 'DynamicParameter' to a SAPGUI Iview using ApplicationP
Hi all, We are calling a R/3 Transaction QM03 within an IView in the Portal which works fine. Now, we also want to call this QM03 Iview from a URL in the PCUI screens. Since the PCUI framework passes all required info through the 'DynamicParameter',