Item level output
Hi,
I have created an item level output for Quotations. My requirement is that this output should print only the items that I have selected in the quotation.
eg: If my quotation has 10 line items and I have trigerred item level output for 5 line items, then the print output should show only those 5 line items in one print preview.
Regards!!!
Anuja
Hi Anuja,
We have similar requirement to print items selected by user. Please share how you resolved this issue (print preview and hard copy).
Thanks,
Regards,
Srini
Similar Messages
-
Smartform- Item Level Output to be displayed for sales Order
Dear All ,
I have a requirement to display output on smartform on item level Baisi i.e GO to Va02 , select Item > Go to Extras ->Output> Item --> Print Priiew .
My Problem is that I am using copy of standard driver RVADOR01 program . In this all item vales are passed to smartform .
I need to display information for single item selected .
In this program there is no structure that will show which item is selected
Kindly help . I will be highly tahnkfullHi,,
just check the interface structure values any fields are marked or not . check any notification are there for particular line item in the structure.
Regards,
karthikeyan k s. -
PO output Validation at Item level
Hi All,
We have created VOFM routine for PO output. We have to validate at item level.But the structure KOMPBEA in the routine is empty and it is not executing KOMPBEA_FILL function module.
Is it possible to Validate PO output at Item level ?
if possible then how to fill KOMPBEA.
Thanks in advance.
Quadri.I think you are working with RR scenario;
then SNC (RO) triger SD to create SO in ERP (not created in SNC).
PO number is not item level, it is header level, that means all the items of a PO have same PO number.
PO is created at customer system, so are you sending the PO numbers from SNC to your customer? -
Item Level Details in Output Requirements Control during Inbound Delivery
Hello Experts,
I have a requirement to access item level details of an inbound delivery at the time of processing the output requirement. The output requirement is defined for application E1 and has a related communication structure KOMKBE1. However, this structure does not have item details (Material, Plant, Batch is what is needed) . Is there another global communication structure that stores this data when the output requirement is called? If not, is there any other way to access that data during runtime?
It is not possible to fetch it from the database tables because the delivery creation process is not yet complete and thus it is not stored in the database, as the output requirement is called when the SAVE button is clicked in VL31N.
Thanks,
- Neeraj
EDIT: Found a solution: Using field symbols, I picked up the value of the needed details from the structures available in the calling program SAPMV50A. In this case, I did not use KOMKBE1 at all.
Edited by: NeerajAngal on Oct 6, 2010 12:28 PMHi
As per my understanding you can try se63 option .. -
I am required to trigger billing output to at item level (normally SAP
I am required to trigger billing output at item level which means one billing document sends more than one billing output for each line item (normally SAP does it at header level ).How do I go about this? Is there any user exit I can manipulate to trigger RSNAST00---->I found an exit in RVCOMFZZ- USEREXIT_KOMKBV3_FILL ..this subroutine is called before printing>...
I have not much clue how to go about this ?
Any Help on this would be highly appreciated.
Thanks
Shankar.Hi Shankar,
how about an own output program? That can be triggered on header level, but can create outputs on item level.
Otherwise: looks difficult to get line level trigger, if SAP hasn't it up to now.
Regards,
Christian -
Hi,
Output in delivery at header level will be stored in NAST table.
To check in Spool we can use SP01.
To reprint the deliveries at item level we use VL71.
In which table delivery output at item level will be stored?
How can v find out?
early responses will be awarded,
Thank you all for ;your support so far and I hope this will continue in all our Journey in this mode of transport i.e. ( SAP)Hi RMD,
NO data will be stored in the table if you are maintaining the Output but it will be get
updated in the Header table LIKP( Delivery Header ) or LIPS ( Delivery Item).
And for your information Tabel NAST - Message Status.
here you find the Spool Numbers etc.,
Please this is clear and Please Reward If Really Helpful,
Thanks and Regards,
Sateesh.Kandula -
Prevent Duplicate Output Trigger from Item Level
Hi,
We have a requirement of whenever a pricing error happen to send the whole Order information from ECC to an external system through Idocs / Output Trigger.
The Output for pricing error can be configured by default at the item level. Hence if an ORder has multiple lines that have pricing issues we can get the same Order information sent twice bacuse of output getting triggered more than once.
Any way I can prevent the duplicate output trigger when multiple items for the same order has issues.
Regards,
ArunavaHi Arunava,
You can create a Output Routine using VOFM tcode and attach the routine to your Output type in NACE tcode.
Inside the routine you can keep check based on the line items / order information.
Thanks & Regards,
Ramya. -
Duplicate records for Sale Order Cycle Report(excluding item level detail)
I have posted this issue in number of forums but till today no one is able to answer it correctly.Here it is:
I need to create a report which I think most of the sd consultants have also done it.It basically covers sales order cycle without item lvel detail such as:
Sale Order No -- Sales Order Date-- Delivery No-- Delivery Date
Now as we all know ,sales orders and deliveries are connected through item table which means in the output I will get duplicate rows for the report above.For Example, if a sales order share 3 items with the delivery then we will get 3 exact duplicate rows in the report.
What can be the best solution?connecting through VBFA has alos same result as it also has item level details.
I need a good solution.This a common report and there must be some solutionHiiii,
It is standard SAP rule that system will catch the document flow (document link history) at item level.
Now your problem that you dont want to show the line item based report because of duplicacy.
Try this.
Brows table VBFA -
In screen selection select the following......
1. Subsiquent document category
2. Preceding item
select "J" in Subsiquent document category
and "000010" in Preceding item then execute the table.
Now system will not show multple line item based delivery report. so No duplicacy will be there
Regards
Shambhu Sarkar -
WBS element not populating at item level
Hi Gurus,
<br>I am trying to create a new sales order using the function module SD_SALESDOCUMENT_CREATE but when i pass a <br>value for the WBS element at item level it is not getting populated in the back end system.
<br>
<br> data :LT_RETURN TYPE TABLE OF BAPIRET2,
<br> LT_SALES_ITEMS_IN TYPE STANDARD TABLE OF BAPISDITM,
<br> LT_SALES_ITEMS_INX TYPE TABLE OF BAPISDITMX ,
<br> LT_SALES_PARTNERS TYPE TABLE OF BAPIPARNR ,
<br> LT_SALES_SCHEDULES_IN TYPE TABLE OF BAPISCHDL ,
<br> LT_SALES_SCHEDULES_INX TYPE TABLE OF BAPISCHDLX ,
<br> LT_SALES_CONDITIONS_IN TYPE TABLE OF BAPICOND ,
<br> LT_SALES_CONDITIONS_INX TYPE TABLE OF BAPICONDX,
<br> LT_SALES_CFGS_REF TYPE TABLE OF BAPICUCFG ,
<br> LT_SALES_CFGS_INST TYPE TABLE OF BAPICUINS ,
<br> LT_SALES_CFGS_PART_OF TYPE TABLE OF BAPICUPRT,
<br> LT_SALES_CFGS_VALUE TYPE TABLE OF BAPICUVAL ,
<br> LT_SALES_CFGS_BLOB TYPE TABLE OF BAPICUBLB ,
<br> LT_SALES_CFGS_VK TYPE TABLE OF BAPICUVK ,
<br> LT_SALES_CFGS_REFINST TYPE TABLE OF BAPICUREF ,
<br> LT_SALES_CCARD TYPE TABLE OF BAPICCARD ,
<br> LT_SALES_TEXT TYPE TABLE OF BAPISDTEXT ,
<br> LT_SALES_KEYS TYPE TABLE OF BAPISDKEY ,
<br> LT_SALES_CONTRACT_IN TYPE TABLE OF BAPICTR ,
<br> LT_SALES_CONTRACT_INX TYPE TABLE OF BAPICTRX,
<br> LT_EXTENSIONIN TYPE TABLE OF BAPIPAREX ,
<br> LT_PARTNERADDRESSES TYPE TABLE OF BAPIADDR1 ,
<br> LT_SALES_SCHED_CONF_IN TYPE TABLE OF BAPISCHDL2 ,
<br> LT_ITEMS_EX TYPE TABLE OF BAPISDIT ,
<br> LT_SCHEDULE_EX TYPE TABLE OF BAPISDHEDU ,
<br> LT_BUSINESS_EX TYPE TABLE OF BAPISDBUSI ,
<br> LT_INCOMPLETE_LOG TYPE TABLE OF BAPIINCOMP ,
<br> LT_EXTENSIONEX TYPE TABLE OF BAPIPAREX ,
<br> LT_CONDITIONS_EX TYPE TABLE OF BAPICOND ,
<br> LT_PARTNERS_EX TYPE TABLE OF BAPISDPART ,
<br> LT_TEXTHEADERS_EX TYPE TABLE OF BAPISDTEHD ,
<br> LT_TEXTLINES_EX TYPE TABLE OF BAPITEXTLI ,
<br> LT_BATCH_CHARC TYPE TABLE OF BAPIBTSEL ,
<br> LT_CAMPAIGN_ASGN TYPE TABLE OF BAPISDCA ,
<br> LT_CONDITIONS_KONV_EX TYPE TABLE OF KONV .
<br>
<br> DATA: LV_SALESDOCUMENT_EX TYPE BAPIVBELN-VBELN,
<br> LT_SALES_HEADER_OUT TYPE BAPISDHD,
<br> LT_SALES_HEADER_STATUS TYPE BAPISDHDST.
<br>
<br> DATA: LV_VALUE_SALESDOCUMENT TYPE BAPIVBELN-VBELN,
<br> LT_SALES_HEADER_IN TYPE BAPISDHD1,
<br> LT_SALES_HEADER_INX TYPE TABLE OF BAPISDHD1X,
<br> LT_SENDER TYPE TABLE OF BDI_LOGSYS,
<br> LV_BINARY_RELATIONSHIPTYPE TYPE BRELTYP-RELTYPE,
<br> LV_INT_NUMBER_ASSIGNMENT TYPE BAPIFLAG-BAPIFLAG VALUE 'R',
<br> LV_BEHAVE_WHEN_ERROR TYPE BAPIFLAG-BAPIFLAG VALUE ' ',
<br> LT_LOGIC_SWITCH TYPE TABLE OF BAPISDLS,
<br> LV_BUSINESS_OBJECT TYPE BAPIUSW01-OBJTYPE VALUE ' ',
<br> LT_TESTRUN TYPE TABLE OF BAPIFLAG-BAPIFLAG ,
<br> LV_CONVERT_PARVW_AUART TYPE BAPIFLAG-BAPIFLAG VALUE ' ',
<br> LV_STATUS_BUFFER_REFRESH TYPE BAPIFLAG-BAPIFLAG VALUE 'X',
<br> LV_CALL_ACTIVE TYPE CHAR4.
<br>
<br> DATA: WA_SALES_PARTNERS LIKE LINE OF LT_SALES_PARTNERS,
<br> WA_SALES_SCHEDULES_IN LIKE LINE OF LT_SALES_SCHEDULES_IN,
<br> WA_SALES_CONDITIONS_IN LIKE LINE OF LT_SALES_CONDITIONS_IN,
<br> WA_EXTENSIONIN LIKE LINE OF LT_EXTENSIONIN,
<br> WA_SALES_ITEMS_IN LIKE LINE OF LT_SALES_ITEMS_IN,
<br> WA_SALES_TEXT LIKE LINE OF LT_SALES_TEXT.
<br>
<br> LT_SALES_HEADER_IN-DOC_TYPE = 'ZSAL'.
<br> LT_SALES_HEADER_IN-SALES_ORG = '1000'.
<br> LT_SALES_HEADER_IN-DISTR_CHAN = '02'.
<br> LT_SALES_HEADER_IN-DIVISION = '01'.
<br> LT_SALES_HEADER_IN-PMNTTRMS = 'Z020'.
<br> LT_SALES_HEADER_IN-DUN_COUNT = '0'.
<br> LT_SALES_HEADER_IN-ADD_VAL_DY = '00'.
<br> LT_SALES_HEADER_IN-EXCHG_RATE = '0'.
<br> LT_SALES_HEADER_IN-BILL_DATE = SY-DATUM.
<br>
<br>data lv_kunnr type kunnr value '106475'.
<br>
<br>CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
<br> EXPORTING
<br> INPUT = lv_kunnr
<br> IMPORTING
<br> OUTPUT = lv_kunnr.
<br>
<br> WA_SALES_PARTNERS-PARTN_ROLE = 'AG'.
<br> WA_SALES_PARTNERS-PARTN_NUMB = lv_kunnr.
<br> APPEND WA_SALES_PARTNERS TO LT_SALES_PARTNERS.
<br>
<br> WA_SALES_PARTNERS-PARTN_ROLE = 'WE'.
<br> WA_SALES_PARTNERS-PARTN_NUMB = lv_kunnr.
<br> APPEND WA_SALES_PARTNERS TO LT_SALES_PARTNERS.
<br>
<br> WA_SALES_TEXT-ITM_NUMBER = '000010'.
<br> WA_SALES_TEXT-TEXT_ID = 'ZS01'.
<br> WA_SALES_TEXT-LANGU = SY-LANGU.
<br> APPEND WA_SALES_TEXT TO LT_SALES_TEXT.
<br>
<br> WA_SALES_TEXT-ITM_NUMBER = '000010'.
<br> WA_SALES_TEXT-TEXT_ID = '3010'.
<br> WA_SALES_TEXT-LANGU = SY-LANGU.
<br> APPEND WA_SALES_TEXT TO LT_SALES_TEXT.
<br>
<br> WA_SALES_SCHEDULES_IN-ITM_NUMBER = '000010'.
<br> WA_SALES_SCHEDULES_IN-REQ_QTY = '22'.
<br> APPEND WA_SALES_SCHEDULES_IN TO LT_SALES_SCHEDULES_IN.
<br>
<br> WA_SALES_CONDITIONS_IN-ITM_NUMBER = '000010'.
<br> WA_SALES_CONDITIONS_IN-COND_TYPE = 'ZMAN'.
<br> WA_SALES_CONDITIONS_IN-CURRENCY = 'NOK' .
<br> APPEND WA_SALES_CONDITIONS_IN TO LT_SALES_CONDITIONS_IN.
<br>
<br> WA_EXTENSIONIN-STRUCTURE = 'BAPE_VBAK'.
<br> * WA_EXTENSIONIN-VALUEPART1 = '090000000200'.
<br> APPEND WA_EXTENSIONIN TO LT_EXTENSIONIN.
<br>
<br>data lv_MATNR type MATNR value '000000000000000031'.
<br>
<br>CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
<br> EXPORTING
<br> INPUT = lv_MATNR
<br> IMPORTING
<br> OUTPUT = lv_MATNR.
<br>
<br> WA_SALES_ITEMS_IN-ITM_NUMBER = '10'.
<br> WA_SALES_ITEMS_IN-MATERIAL = lv_MATNR.
<br> WA_SALES_ITEMS_IN-TARGET_QTY = '1'.
<br> WA_SALES_ITEMS_IN-TARGET_QU = 'ST'.
<br> WA_SALES_ITEMS_IN-SHORT_TEXT = 'TESST AJ'.
<br> WA_SALES_ITEMS_IN-SALES_UNIT = 'ST'.
<br> WA_SALES_ITEMS_IN-CURRENCY = 'NOK'.
<br> WA_SALES_ITEMS_IN-WBS_ELEM = '011215'.
<br> APPEND WA_SALES_ITEMS_IN TO LT_SALES_ITEMS_IN.
<br>
<br> DATA : WA_ORDER_ITEMS_INX TYPE BAPISDITMX.
<br> DATA : LT_ORDER_ITEMS_INXN TYPE STANDARD TABLE OF BAPISDITMX.
<br> DATA : WA_ORDER_HEADER_INX TYPE BAPISDHD1X.
<br> DATA : LT_ORDER_HEADER_INXN TYPE STANDARD TABLE OF BAPISDHD1X.
<br>
<br> WA_ORDER_ITEMS_INX-UPDATEFLAG = ' '.
<br> WA_ORDER_ITEMS_INX-ITM_NUMBER = '000010'.
<br> WA_ORDER_ITEMS_INX-MATERIAL = 'X'.
<br> WA_ORDER_ITEMS_INX-TARGET_QTY = 'X'.
<br> WA_ORDER_ITEMS_INX-TARGET_QU = 'X'.
<br> WA_ORDER_ITEMS_INX-SHORT_TEXT = 'X'.
<br> WA_ORDER_ITEMS_INX-SALES_UNIT = 'X'.
<br> WA_ORDER_ITEMS_INX-WBS_ELEM = 'X'.
<br>
<br> APPEND WA_ORDER_ITEMS_INX TO LT_ORDER_ITEMS_INXN.
<br>
<br> CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
<br> EXPORTING
<br> SALESDOCUMENT = LV_VALUE_SALESDOCUMENT
<br> SALES_HEADER_IN = LT_SALES_HEADER_IN
<br>* SALES_HEADER_INX =
<br>* SENDER =
<br>* BINARY_RELATIONSHIPTYPE = ' '
<br> INT_NUMBER_ASSIGNMENT = LV_INT_NUMBER_ASSIGNMENT
<br>* BEHAVE_WHEN_ERROR = ' '
<br>* LOGIC_SWITCH = ' '
<br> BUSINESS_OBJECT = ' '
<br>* TESTRUN =
<br>* CONVERT_PARVW_AUART = ' '
<br> STATUS_BUFFER_REFRESH = 'X'
<br>* CALL_ACTIVE = ' '
<br> IMPORTING
<br> SALESDOCUMENT_EX = LV_SALESDOCUMENT_EX
<br> SALES_HEADER_OUT = LT_SALES_HEADER_OUT
<br> SALES_HEADER_STATUS = LT_SALES_HEADER_STATUS
<br> TABLES
<br> RETURN = LT_RETURN
<br> SALES_ITEMS_IN = LT_SALES_ITEMS_IN
<br>* SALES_ITEMS_INX =
<br> SALES_PARTNERS = LT_SALES_PARTNERS
<br> SALES_SCHEDULES_IN = LT_SALES_SCHEDULES_IN
<br>* SALES_SCHEDULES_INX =
<br> SALES_CONDITIONS_IN = LT_SALES_CONDITIONS_IN
<br>* SALES_CONDITIONS_INX =
<br>* SALES_CFGS_REF =
<br>* SALES_CFGS_INST =
<br>* SALES_CFGS_PART_OF =
<br>* SALES_CFGS_VALUE =
<br>* SALES_CFGS_BLOB =
<br>* SALES_CFGS_VK =
<br>* SALES_CFGS_REFINST =
<br>* SALES_CCARD =
<br> SALES_TEXT = LT_SALES_TEXT
<br>* SALES_KEYS =
<br>* SALES_CONTRACT_IN =
<br>* SALES_CONTRACT_INX =
<br> EXTENSIONIN = LT_EXTENSIONIN
<br>* PARTNERADDRESSES =
<br>* SALES_SCHED_CONF_IN =
<br> ITEMS_EX = LT_ITEMS_EX
<br> SCHEDULE_EX = LT_SCHEDULE_EX
<br>* BUSINESS_EX =
<br>* INCOMPLETE_LOG =
<br> EXTENSIONEX = LT_EXTENSIONEX
<br>* CONDITIONS_EX =
<br>* PARTNERS_EX =
<br>* TEXTHEADERS_EX =
<br>* TEXTLINES_EX =
<br>* BATCH_CHARC =
<br>* CAMPAIGN_ASGN =
<br>* CONDITIONS_KONV_EX =
<br>.
<br>
<br> commit work.
<br>
<br>I am aware that there are other BAPI's available to create a new sales order(BAPI_SALESORDER_CREATEFROMDAT2 <br>etc.) but the problem with using them is they internally call the same function module 'SD_SALESDOCUMENT_CREATE'. i <br>have already tried to create the sales order using 'BAPI_SALESORDER_CREATEFROMDAT' but the effect is the same.
<br>When I pass WBS element value in VA01 and create a sales order I can see that WBS element value is coming correctly. <br>But when i create the sales order using ABAP code WBS element is coming as blank. When I execute this standard FM it <br>creates the sales order correctly with a blank against WBS element. I checked in the VBAP table the value is not even <br>populated there . Kindly share your valuable inputs for the same.
- AkshayMay be you have to post this in ABAP forum to get suitable suggestions.
G. Lakshmipathi -
Deletion of the Purchase order at the item level and header level
Hi Gurus,
We are using SRM 7.0 system.
In standard SRM 7.0, the PO can be deleted at header level and at line item level. I need to know the differnce between these deletions. I found that if the PO is deleted at the line item level the deletion indicator (DEL_IND) field in BBP_PDIGP table is 'X'.
But i could not find any clue to find the PO which is deleted at the header level. I need to code this logic in a report .
Kindly provide your valuable inputs.
Thanks,
RKThere are two ways:
1. From the Header by clicking the DELETE button. And this is only possible when the PO is not yet output to Vendor.
2. The second way is to delete all the items in the PO. This is possible any time irrespective of the output sent to the vendor. But provided if there are no follow-on documents for this.
Some times we could see the Deletion icon active in Header , it is because there is change version existing.
When a PO is created and ordered, this is the first version of the PO. And this PO is sent to the backend and output is sent to
the vendor.
Now when you make a change and hold it, SRM creates the 2ndversion of this PO. Then when you delete this PO, SRM marks this 2nd
version of PO to closed. Also you receive the pop-op confirmation that PO was deleted at this point. However, this PO deletion is never sent to the backend and output is not sent to the vendor since this PO has never been ordered. This version is the Change Version. This is shown after the PO number field if you pay attention on the screen.
When you search for the PO, it will show you the ordered PO (No change version shown after the PO number). The system does not show you the deleted version which is version 2. That is why you see status is 'ordered'. -
Customized drill-down report cannot go to line item level (FGI4 and FGI1)
Hi Expert,
I created a customized drill-down report using New GL features, as follows:
FGI4 create form, with reference to form: 0SAPBLNCE-01
FGI1 create report for the form created.
After that I set some things like characteristic, variables, and output type.
When I execute the report, the data shown cannot be drill-down to line item level:
Goto > Line Item (this function is disabled).
Kindly advise why I cannot goto line item level, where I copy from standard form: 0SAPBLNCE-01, which ha sthe features of drill-down to line item level.
Thanks
sbmelHi sbmel,
For calling up a line item report in a drill down report you need to make the below settins:-
- You first have to generate the line item report with program RGRGENSI for your summary table.
- Then assign the generated line item report to the summary report.
Assiging the report is part of the 'Change drilldown report' function, which you reach by activating the characteristic selection field and then Extras -> Report assignment.
In the dialog box that appears, choose the 'Other report type' function and insert the line item report generated earlier, as an ABAP report
Regards,
Gaurav
Edited by: gka2707 on Jul 19, 2010 8:07 AM -
User Exit to make Payment Term field non editable in item level .
Hi all,
User wants to make the Payment Term field in sales order as non editable and Payment terms is copied from Customer Master to Sales order.
I use user exit MV45AFZZ (USEREXIT_FIELD_MODIFICATION) to make Payment Term field non editable in header level.
I am not able to do it in item level. Pl help to to make Payment Term field non editable in item level.
Thanks,
sunilHi,
You can try implicit enhancement in the include MV45AF0T_TCTRL_U_ERF_AUFTRAG_I
use below code.
DATA: WA_COLS LIKE LINE OF TCTRL_U_ERF_AUFTRAG-COLS.
LOOP AT TCTRL_U_ERF_AUFTRAG-COLS INTO WA_COLS.
IF WA_COLS-SCREEN-NAME = 'VBAP-ZTERM'. " Check the field name
WA_COLS-SCREEN-INPUT = 0.
WA_COLS-SCREEN-OUTPUT = 1.
MODIFY TCTRL_U_ERF_AUFTRAG-COLS FROM WA_COLS.
ENDIF.
ENDLOOP.
It better to control it via a custom authorization object.
put a authorization create a custom authorization object so that you can restrict it for a certain users.
AUTHORITY-CHECK OBJECT 'ZTERM'
ID 'ACTVT' FIELD '02'.
IF SY-SUBRC NE 0.
LOOP AT TCTRL_U_ERF_AUFTRAG-COLS INTO WA_COLS.
ENDLOOP.
ENDIF.
Regards
Aromal -
Amount field to be non editable at line item level in MIRO
Hi,
Plz let me know the steps, how to make the "Amount" field at line item level to be non editable in Invoive verification (MIRO).
Regards,Create a screen variant for MIRO and make DRSEG-WRBTR filed output only.
Program: SAPLMR1M
Screen no : 6000 -
New field in sales order screen at item level
Hi Friends,
I need to insert a new field at the item level in the sales order screen (additional data tab). Please let me know how to do the same.
Regards,
VivekHi,
you can add fields of self-defined tables on the "Additional Data B" tab
. Those fields should be added onto the respective screen and the flow
Logic should be adjusted. Additional item data is on screen SAPMV45A 0459. This screen contains
Include SAPMV45A 8459 as user exits.
This should involve not only appending a structure containing customer-
Specific fields within the table VBAP but also using the
userexit coding:
a)MV45AOZZ for PBO (i.e. module zzmodify_uas_pbo output);
b)MV45AIZZ for PAI (i.e. module zzmodify_uas_pai input);
c)MV45AFZZ (sub-routine USEREXIT_MOVE_FIELD_TO_VBAP) for defaulting the
values from the customer master and further processing.
Best regards,
Joerg -
HOW TO DISABLE ALL BUT ONE CHECKBOX IN ALV BASED ON ITEM LEVEL
Hi All,
I have a report that has output format in ALV , first column is a Checkbox and second in agreement number . the data is displayed on item level , now my requirement is check box must be displayed in front of only first line item per agreement number and should not be displayed infront of any other ,
rewadard points are waiting.....for correct answer...The same thing can be done using Object Oriented ALV.
Following are the steps...
1. HANDLE_STYLE TYPE LVC_T_STYL.
DECLARE work area,and table
2. DATA: LS_EDIT TYPE LVC_S_STYL,
LT_EDIT TYPE LVC_T_STYL.
changing the style...
3.
LOOP AT IT_FINAL INTO LS_OUTTAB WHERE FLAG = 'X'.
V_INDEX = SY-TABIX.
LS_EDIT-FIELDNAME = 'MATNR'.
LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
LS_EDIT-STYLE2 = SPACE.
LS_EDIT-STYLE3 = SPACE.
LS_EDIT-STYLE4 = SPACE.
LS_EDIT-MAXLEN = 8.
INSERT LS_EDIT INTO TABLE LT_EDIT.
LS_EDIT-FIELDNAME = 'VBELN'.
LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENAABLED.
LS_EDIT-STYLE2 = SPACE.
LS_EDIT-STYLE3 = SPACE.
LS_EDIT-STYLE4 = SPACE.
LS_EDIT-MAXLEN = 8.
INSERT LS_EDIT INTO TABLE LT_EDIT.
LS_EDIT-FIELDNAME = 'POSNR'.
LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
LS_EDIT-STYLE2 = SPACE.
LS_EDIT-STYLE3 = SPACE.
LS_EDIT-STYLE4 = SPACE.
LS_EDIT-MAXLEN = 8.
INSERT LS_EDIT INTO TABLE LT_EDIT.
INSERT LINES OF LT_EDIT INTO TABLE LS_OUTTAB-HANDLE_STYLE.
MODIFY IT_FINAL INDEX V_INDEX FROM LS_OUTTAB TRANSPORTING
HANDLE_STYLE .
ENDLOOP.
assigning the style to Layout..
4. GS_LAYOUT-STYLEFNAME = 'HANDLE_STYLE'.
Check the sample code..
create a screen 100, place a control on that and name it as TEST. and also activate the pf-status.
REPORT ZTEST1234 MESSAGE-ID ZZ .
DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID.
DATA: L_VALID TYPE C,
V_FLAG,
V_DATA_CHANGE,
V_ROW TYPE LVC_S_ROW,
V_COLUMN TYPE LVC_S_COL,
V_ROW_NUM TYPE LVC_S_ROID.
DATA: OK_CODE LIKE SY-UCOMM,
SAVE_OK LIKE SY-UCOMM,
G_CONTAINER1 TYPE SCRFNAME VALUE 'TEST', "First Container
GS_LAYOUT TYPE LVC_S_LAYO.
DATA:BEGIN OF ITAB OCCURS 0,
VBELN LIKE LIKP-VBELN,
POSNR LIKE LIPS-POSNR,
LFDAT like lips-vfdat,
BOX(1),
HANDLE_STYLE TYPE LVC_T_STYL,
END OF ITAB.
* CLASS lcl_event_handler DEFINITION
CLASS LCL_EVENT_HANDLER DEFINITION .
PUBLIC SECTION .
METHODS:
**Hot spot Handler
HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO,
**Handler to Check the Data Change
HANDLE_DATA_CHANGED FOR EVENT DATA_CHANGED
OF CL_GUI_ALV_GRID
IMPORTING ER_DATA_CHANGED
E_ONF4
E_ONF4_BEFORE
E_ONF4_AFTER,
**Double Click Handler
HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN ES_ROW_NO.
ENDCLASS. "lcl_event_handler DEFINITION
* CLASS lcl_event_handler IMPLEMENTATION
CLASS LCL_EVENT_HANDLER IMPLEMENTATION.
*Handle Hotspot Click
METHOD HANDLE_HOTSPOT_CLICK .
CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.
V_ROW = E_ROW_ID.
V_COLUMN = E_COLUMN_ID.
V_ROW_NUM = ES_ROW_NO.
MESSAGE I000 WITH V_ROW 'clicked'.
ENDMETHOD. "lcl_event_handler
*Handle Double Click
METHOD HANDLE_DOUBLE_CLICK.
CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.
V_ROW = E_ROW.
V_COLUMN = E_COLUMN.
V_ROW_NUM = ES_ROW_NO.
IF E_COLUMN = 'VBELN'.
SET PARAMETER ID 'VL' FIELD ITAB-VBELN.
CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.
ENDIF.
IF E_COLUMN = 'POSNR'.
MESSAGE I000 WITH 'Click on POSNR row number ' E_ROW.
"with this row num you can get the data
ENDIF.
ENDMETHOD. "handle_double_click
**Handle Data Change
METHOD HANDLE_DATA_CHANGED.
CALL METHOD G_GRID->REFRESH_TABLE_DISPLAY
EXCEPTIONS
FINISHED = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMETHOD. "HANDLE_DATA_CHANGED
ENDCLASS. "LCL_EVENT_HANDLER IMPLEMENTATION
*& Global Definitions
DATA: G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Container
G_HANDLER TYPE REF TO LCL_EVENT_HANDLER. "handler
*- Fieldcatalog for First and second Report
DATA: IT_FIELDCAT TYPE LVC_T_FCAT,
X_FIELDCAT TYPE LVC_S_FCAT,
LS_VARI TYPE DISVARIANT.
* START-OF_SELECTION
START-OF-SELECTION.
SELECT VBELN
POSNR
FROM LIPS
UP TO 20 ROWS
INTO CORRESPONDING FIELDS OF TABLE ITAB.
END-OF-SELECTION.
IF NOT ITAB[] IS INITIAL.
CALL SCREEN 100.
ELSE.
MESSAGE I002 WITH 'NO DATA FOR THE SELECTION'(004).
ENDIF.
*& Form CREATE_AND_INIT_ALV
* text
FORM CREATE_AND_INIT_ALV .
DATA: LT_EXCLUDE TYPE UI_FUNCTIONS.
CREATE OBJECT G_CUSTOM_CONTAINER
EXPORTING CONTAINER_NAME = G_CONTAINER1.
CREATE OBJECT G_GRID
EXPORTING I_PARENT = G_CUSTOM_CONTAINER.
* Set a titlebar for the grid control
CLEAR GS_LAYOUT.
GS_LAYOUT-GRID_TITLE = TEXT-003.
GS_LAYOUT-ZEBRA = SPACE.
GS_LAYOUT-CWIDTH_OPT = 'X'.
GS_LAYOUT-NO_ROWMARK = 'X'.
GS_LAYOUT-BOX_FNAME = 'BOX'.
GS_LAYOUT-STYLEFNAME = 'HANDLE_STYLE'.
CALL METHOD G_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
CREATE OBJECT G_HANDLER.
SET HANDLER G_HANDLER->HANDLE_DOUBLE_CLICK FOR G_GRID.
* SET HANDLER G_HANDLER->HANDLE_HOTSPOT_CLICK FOR G_GRID.
SET HANDLER G_HANDLER->HANDLE_DATA_CHANGED FOR G_GRID.
data: ls_outatb like line of itab,
v_index type sy-tabix.
DATA: LS_EDIT TYPE LVC_S_STYL,
LT_EDIT TYPE LVC_T_STYL.
LOOP AT ITAB INTO ls_outatb WHERE POSNR = '000010'.
V_INDEX = SY-TABIX.
LS_EDIT-FIELDNAME = 'VBELN'.
LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
LS_EDIT-STYLE2 = SPACE.
LS_EDIT-STYLE3 = SPACE.
LS_EDIT-STYLE4 = SPACE.
LS_EDIT-MAXLEN = 8.
INSERT LS_EDIT INTO TABLE LT_EDIT.
INSERT LINES OF LT_EDIT INTO TABLE ls_outatb-handle_style.
MODIFY ITAB INDEX V_INDEX FROM ls_outatb TRANSPORTING
HANDLE_STYLE.
ENDLOOP.
* setting focus for created grid control
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = G_GRID.
* Build fieldcat and set editable for date and reason code
* edit enabled. Assign a handle for the dropdown listbox.
PERFORM BUILD_FIELDCAT.
* Optionally restrict generic functions to 'change only'.
* (The user shall not be able to add new lines).
PERFORM EXCLUDE_TB_FUNCTIONS CHANGING LT_EXCLUDE.
**Vaiant to save the layout
LS_VARI-REPORT = SY-REPID.
LS_VARI-HANDLE = SPACE.
LS_VARI-LOG_GROUP = SPACE.
LS_VARI-USERNAME = SPACE.
LS_VARI-VARIANT = SPACE.
LS_VARI-TEXT = SPACE.
LS_VARI-DEPENDVARS = SPACE.
CALL METHOD G_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
**Calling the Method for ALV output for First Grid
CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IT_TOOLBAR_EXCLUDING = LT_EXCLUDE
IS_VARIANT = LS_VARI
IS_LAYOUT = GS_LAYOUT
I_SAVE = 'A'
CHANGING
IT_FIELDCATALOG = IT_FIELDCAT
IT_OUTTAB = ITAB[].
* Set editable cells to ready for input initially
CALL METHOD G_GRID->SET_READY_FOR_INPUT
EXPORTING
I_READY_FOR_INPUT = 1.
ENDFORM. "CREATE_AND_INIT_ALV
*& Form EXCLUDE_TB_FUNCTIONS
* text
* -->PT_EXCLUDE text
FORM EXCLUDE_TB_FUNCTIONS CHANGING PT_EXCLUDE TYPE UI_FUNCTIONS.
* Only allow to change data not to create new entries (exclude
* generic functions).
DATA LS_EXCLUDE TYPE UI_FUNC.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_DELETE_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_APPEND_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_MOVE_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_COPY.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_CUT.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_PASTE_NEW_ROW.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
LS_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_LOC_UNDO.
APPEND LS_EXCLUDE TO PT_EXCLUDE.
ENDFORM. " EXCLUDE_TB_FUNCTIONS
*& Form build_fieldcat
* Fieldcatalog
FORM BUILD_FIELDCAT .
DATA: L_POS TYPE I.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Delivery'(024).
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-NO_ZERO = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-OUTPUTLEN = '10'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Item'(025).
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-OUTPUTLEN = '5'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
X_FIELDCAT-SCRTEXT_M = 'Del Date'(015).
X_FIELDCAT-FIELDNAME = 'LFDAT'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = L_POS.
X_FIELDCAT-OUTPUTLEN = '10'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
L_POS = L_POS + 1.
ENDFORM. " build_fieldcat
*& Module STATUS_0100 OUTPUT
* text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
IF G_CUSTOM_CONTAINER IS INITIAL.
**Initializing the grid and calling the fm to Display the O/P
PERFORM CREATE_AND_INIT_ALV.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
Maybe you are looking for
-
Returns PO based on Return sales order - schedule line problem
Hi, We're designing a return to vendors process as the opposite of a purchasing process through a plant. So normally the process is: Customer places order We buy from the vendor (PO based on sales order) Goods arrive at the plant We deliver from plan
-
Trouble with Server 9.2 Avitek Tutorial 10
I'm running through the WebLogic Server 9.2 Tutorial, "Avitek Medical Records Development Tutorials". In Tutorial 10, "Using EJBGen to Generate EJB Deployment Descriptors", Step 4, "Use the EJBGen utility to regenerate the deployment descriptor and E
-
how long should i charge my nano for the first time
-
9.0 now can't complete purchase--error (no#) re time & cookies
Updated to iTunes 9.0, tried to purchase couple of apps for ipod touch. Get error cannot complete, that I should make sure date on computer is accurate (it IS) and cookies enabled for iTunes, and refers me for more info to a webpage about accounts on
-
Netui:anchor generates port as 7001 instead of another port
Hi... I have my WebLogic Server running on port 7110. There are several places where I use the netui:anchor tag to generate links and form submit. However, the url that gets generated in the html output (I did a view source in IE to see this), all ha