Change output list FBL5N
Hi, i want to add a new fields to the output of transactions FBL5N.
I want to show in the output list the fields Credit Limit, Sales Ditrict and description of sales district in transaction.
I need know how can i change the layout and in the hidden fields appear this fields. this is possible?
You think that exist some SAP notes for this requirement? If yes, can you give me the number if this note?
Sales district: field KNVV-BZIRK
por el credit limit: field KNKK-KLIMK.
Thanks in advance.
Hello Stilianos, yes of course with pleasure.
The code that i put in my MF en the event 1650 from the start is following:
function zzsample_interface_00001650.
""Local Interface:
*" IMPORTING
*" VALUE(I_POSTAB) LIKE RFPOS STRUCTURE RFPOS
*" EXPORTING
*" VALUE(E_POSTAB) LIKE RFPOS STRUCTURE RFPOS
Descripción: Copy of the MF SAMPLE_INTERFACE_00001650, the MF for
the event 1650: Line Item Display: Add to data per line.This specific
MF was been created to fill new fields in the ALV list of the
transaction FBL5N as part of the developmenet
GB-DEV-FIN - Impact Assessment RFC FIN 1270).
........................................................u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026u2026.
MÓDULO AL QUE PERTENECE: FI
AUTOR : Amal SALHI EMPRESA: Accenture FECHA: 03/06/08
CONTROL DE MODIFICACIONES
AUTOR EMPRESA FECHA MOTIVO
........... ............... DD/MM/AA ......................
........... ............... DD/MM/AA ......................
Initialize Output by using the following line -
E_POSTAB = I_POSTAB.
tables: bkpf, "Accounting Document Header
vbrk, "Billing Document: Header Data
knvv, "Customer Master Sales Data
knkk, "Customer master credit management: Control area data
t171t. "Customers: Sales districts: Texts
Variable and constants declaration
data: l_awtyp type bkpf-awtyp, " Reference Transaction
l_awkey type bkpf-awkey, " Reference Key
l_vkorg type vbrk-vkorg, " Sales Organization
l_kunnr type vbrk-kunrg, " Payer
l_vtweg type vbrk-vtweg, " Distribution Channel
l_spart type vbrk-spart. " Division
constants:c_vbrk type bkpf-awtyp value 'VBRK',
c_d type rfpos-koart value 'D',
c_fbl5n like sy-tcode value 'FBL5N'.
Fill all fields except new fields: Sales district, Customer's credit limit
and Name of the district (Copy of FDM_AR_INTERFACE_00001650 code)
data:
lt_attributes type fdm_t_line_item_attributes,
ls_attributes type fdm_line_item_attributes.
clear e_postab.
*--- pass the account type, customer account to the service layer
move-corresponding i_postab to ls_attributes.
append ls_attributes to lt_attributes.
*--- call the service layer to get the case attributes
call function 'FDM_AR_DOC_ATTRIBUTES_GET'
changing
ct_attributes = lt_attributes.
*--- pass the case attributes back to the exporting
clear ls_attributes.
move-corresponding i_postab to e_postab.
read table lt_attributes into ls_attributes index 1.
move-corresponding ls_attributes to e_postab.
*--- fill line item fields overwritten by last move-corresponding
e_postab-konto = i_postab-konto.
e_postab-koart = i_postab-koart.
e_postab-bukrs = i_postab-bukrs.
e_postab-belnr = i_postab-belnr.
e_postab-gjahr = i_postab-gjahr.
e_postab-buzei = i_postab-buzei.
check sy-tcode = c_fbl5n.
Fill new fields: Sales district (RFPOS-BZIRK), Customer's credit limit (RFPOS-KLIMK)
and Name of the district (RFPOS-BZTXT)
Find the Customer Number
if e_postab-koart = c_d.
clear l_kunnr.
l_kunnr = i_postab-konto.
endif.
Fill the column Customer's credit limit (KLIMK)
clear e_postab-klimk.
select single klimk
into e_postab-klimk
from knkk
where kunnr = l_kunnr "Customer Number 1
and kkber = i_postab-kkber. "Credit control area
Find the original document from BKPF
clear: l_awtyp, l_awkey.
select single awtyp awkey
from bkpf
into (l_awtyp, l_awkey)
where bukrs = i_postab-bukrs
and belnr = i_postab-belnr
and gjahr = i_postab-gjahr.
Check if the original document is a sales document.
if l_awtyp = c_vbrk.
clear: l_vkorg, l_vtweg, l_kunnr, l_spart.
select single vkorg vtweg spart kunrg
from vbrk
into (l_vkorg, l_vtweg, l_spart, l_kunnr)
where vbeln = l_awkey(10).
if sy-subrc = 0.
Fill the column Sales district (BZIRK)
clear e_postab-bzirk.
select single bzirk
from knvv
into e_postab-bzirk
where kunnr = l_kunnr "Customer Number 1
and vkorg = l_vkorg "Sales Organization
and vtweg = l_vtweg "Distribution Channel
and spart = l_spart. "Division
Fill the column Name of the district (BZTXT)
clear e_postab-bztxt.
select single bztxt
into e_postab-bztxt
from t171t
where spras = sy-langu "Connection Language
and bzirk = e_postab-bzirk. "Sales district
endif.
CB
else.
Fill the column Sales district (BZIRK)
clear e_postab-bzirk.
select single bzirk
from knvv
into e_postab-bzirk
where kunnr = l_kunnr "Customer Number 1
and vkorg = i_postab-bukrs. "Sales Organization
check sy-subrc = 0.
Fill the column Name of the district (BZTXT)
clear e_postab-bztxt.
select single bztxt
into e_postab-bztxt
from t171t
where spras = sy-langu "Connection Language
and bzirk = e_postab-bzirk. "Sales district
CB
endif.
endfunction.
One remark that you know is it makes sense to show those fields only if the invoice was generated by a bill for that we search inf the origin document in BKPF is an invoice.
I hope that helps you. For anything about that, you can tell me and i will see if i can help you.
Tell if this resolves your problem.
Similar Messages
-
T.code FBL5N: a problem with the print of the output list
Hi All,
with reference to the t.code FBL5N, I have a problem with the print of the output list of the report.
When I execute the print, I obtain one customer for each page printed.
I wonder if is possible to obtain more customers for each page printed.
Could anyone help me?
Thanks
Gandalf
Edited by: Umberto Gandalf on Dec 21, 2008 10:36 PMHi,
Though personally i havent tried this option, check the same
Go to Menu: Settings >> Switch List
This will make the value displayed in ALV format and then try taking print outs.
Regards,
Sridevi -
Change layout of Adhoc query output list for Custom infotype
Hi All,
The fields in the Infoset query output on a custom infotype are aligned with the fields u2018payment typeu2019 and u2018amountu2019 appearing repeatedly(in columns) as declared in the Infotype and the output will be a long horizontal list.
Instead, the requirement is that the output list should show vertically so that If I choose u2018Payment Typeu2019 and u2018Amountu2019 as output fields, it will show a long vertical list as in the case of a standard infotype (IT0008).
Also, this way enables user to use Payment Type as a selection criteria so as to just pulling the needed payment type. When we use IT0008 in the infoset it works fine but in custom IT it does not work.
Any pointers/suggestions on how we can achieve this would be helpful.Hi yu liang,
You can find vendor list having Vendor No. & without showing total liability for every vendor.
after executing the report,
1.You need to select "change layout (ctrl+F8)",
a small window comes, it has two part -> column content & hidden fields.
then u select "Vendor" from hidden field & move it to column content.
2. at column content there is a column named "Total". u need to remove check for your column name "amount".
now select "copy" button or enter. u will find the req. report.
u can save it also by ur name.
hope its helpful to u.......
plz, reward points as a way of thanks if helpful... -
hello everyone
i have got one requirement that i have to change the font of output list so that i can get good printout of it.
thanxtry the following (printed output has different fonts); also see 'function' in print-control online help; a lot depends on your printer.
Best! Jim
new-page print on.
print-control function 'SF000'.
write: / 'This is CPI 20'.
skip.
print-control function 'SF020'.
write: / 'This is CPI 6'.
skip.
print-control function 'SF008'.
write: / 'This is CPI 12'.
print-control font 1 lpi 6.
write: / 'font 1 lpi 6'.
print-control font 2 lpi 6.
write: / 'font 2 lpi 6'.
print-control font 3 lpi 6.
write: / 'font 3 lpi 6'.
new-page print off. -
How to create 2 ALV output lists in a single output?
Hi guys...
My clients requirement is to create 2 ALV output lists in a single output list.how can i do this?i mean which function module i can use for this requirement?please help me out...
Regards..*& Report ZLCL_ALV_INT_INVOICE *
REPORT ZLCL_ALV_INT_INVOICE .
DATA: O_CONT1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
O_CONT2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
O_GRID1 TYPE REF TO CL_GUI_ALV_GRID,
O_GRID2 TYPE REF TO CL_GUI_ALV_GRID.
DATA: IT_VBRK LIKE VBRK OCCURS 1 WITH HEADER LINE.
DATA: IT_VBRP LIKE VBRP OCCURS 1 WITH HEADER LINE.
DATA: WA_VBRK LIKE VBRK.
*--Layout
DATA: WA_LAYO TYPE LVC_S_LAYO.
CLASS LCL_BILLING DEFINITION
CLASS LCL_BILLING DEFINITION.
PUBLIC SECTION.
CLASS-METHODS: HANDLE_HOTSPOT_CLICK
FOR EVENT HOTSPOT_CLICK
OF CL_GUI_ALV_GRID
IMPORTING E_ROW_ID.
ENDCLASS. "LCL_BILLING DEFINITION
CLASS LCL_BILLING IMPLEMENTATION
CLASS LCL_BILLING IMPLEMENTATION.
METHOD HANDLE_HOTSPOT_CLICK.
IF NOT E_ROW_ID IS INITIAL.
*--Reading selected billing docno
READ TABLE IT_VBRK INTO WA_VBRK INDEX E_ROW_ID-INDEX.
*--GETTING BILLING DOC ITEMS
REFRESH IT_VBRP.
SELECT *
FROM VBRP
INTO TABLE IT_VBRP
WHERE VBELN = WA_VBRK-VBELN.
CALL SCREEN 200.
ENDIF.
ENDMETHOD. "HANDLE_HOTSPOT_CLICK
ENDCLASS. "LCL_BILLING IMPLEMENTATION
SELECT-OPTIONS: S_VBELN FOR IT_VBRK-VBELN.
START-OF-SELECTION.
PERFORM GET_DATA.
SET SCREEN 100.
*& Form GET_DATA
text
FORM GET_DATA .
*--billing header data
SELECT *
FROM VBRK
INTO TABLE IT_VBRK
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'No Data Found'.
ENDIF.
EXIT.
ENDFORM. " GET_DATA
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'MENU'.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
PERFORM EXIT_PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module PBO_100 OUTPUT
text
MODULE PBO_100 OUTPUT.
IF O_CONT1 IS INITIAL.
CREATE OBJECT O_CONT1
EXPORTING
CONTAINER_NAME = 'VBRK_CONT'
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
OTHERS = 6
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in container'.
EXIT.
ENDIF.
CREATE OBJECT O_GRID1
EXPORTING
I_PARENT = O_CONT1
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in Grid'.
EXIT.
ENDIF.
ENDIF.
*--Layout for 1st grid
WA_LAYO-KEYHOT = 'X'.
WA_LAYO-GRID_TITLE = 'Billing Document Header Data'.
CALL METHOD O_GRID1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'VBRK'
IS_LAYOUT = WA_LAYO
CHANGING
IT_OUTTAB = IT_VBRK[]
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in showing grid'.
EXIT.
ENDIF.
*-Setting the focus on the grid
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = O_GRID1 "Grid control object
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in setting focus'.
ENDIF.
*--Event handler registration
SET HANDLER LCL_BILLING=>HANDLE_HOTSPOT_CLICK FOR O_GRID1.
ENDMODULE. " PBO_100 OUTPUT
*& Module STATUS_0200 OUTPUT
text
MODULE STATUS_0200 OUTPUT.
SET PF-STATUS 'MENU'.
ENDMODULE. " STATUS_0200 OUTPUT
*& Module USER_COMMAND_0200 INPUT
text
MODULE USER_COMMAND_0200 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 100.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT
*& Module PBO_200 OUTPUT
text
MODULE PBO_200 OUTPUT.
IF O_CONT2 IS INITIAL.
CREATE OBJECT O_CONT2
EXPORTING
CONTAINER_NAME = 'VBRP_CONT'
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
OTHERS = 6
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in container'.
EXIT.
ENDIF.
CREATE OBJECT O_GRID2
EXPORTING
I_PARENT = O_CONT2
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in grid linking'.
EXIT.
ENDIF.
CALL METHOD O_GRID2->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = 'VBRP'
CHANGING
IT_OUTTAB = IT_VBRP[]
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
*--refreshing the alv grid with the latest content of the internal table
*--which is linked
CALL METHOD O_GRID2->REFRESH_TABLE_DISPLAY
EXCEPTIONS
FINISHED = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in Refreshing gird'.
ENDIF.
ENDIF.
ENDMODULE. " PBO_200 OUTPUT
*& Form EXIT_PROGRAM
text
FORM EXIT_PROGRAM .
*--Deallocating the memory
IF NOT O_CONT2 IS INITIAL.
CALL METHOD O_CONT2->FREE
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in deallocating memory'.
EXIT.
ENDIF.
CLEAR: IT_VBRP,
IT_VBRP[].
FREE: IT_VBRP,
IT_VBRP[].
ENDIF.
IF NOT O_CONT1 IS INITIAL.
CALL METHOD O_CONT1->FREE
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in deallocating memory'.
EXIT.
ENDIF.
CLEAR: IT_VBRK,
IT_VBRK[].
FREE: IT_VBRK,
IT_VBRK[].
ENDIF.
*--Cearing the buffered content
CALL METHOD CL_GUI_CFW=>FLUSH
EXCEPTIONS
CNTL_SYSTEM_ERROR = 1
CNTL_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE I000(Z00) WITH 'Error in clearing Buffer'.
EXIT.
ENDIF.
LEAVE PROGRAM.
ENDFORM. " EXIT_PROGRAM
SCREEN 100
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
MODULE PBO_100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
SCREEN200
PROCESS BEFORE OUTPUT.
MODULE STATUS_0200.
MODULE PBO_200.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0200. -
Add field in output list in ZRFUMSV00
Hi:
I am facing a problem with Z version of RFUMSV00 program. I have created a variant with a new output list, bur I need to add some new fields in output list, but I only can add the some fields in a list, but I don´t know how to add different fields in change layout.
Please, any idea?
Thanks in advance.
Best regards.Hi,
Its you mention it is Z program . Please request ABAp er to add fiield in program so that you can see in output list and add in your report .
many Thanks -
Add additional field in the output list
Tcode(VL10G) .ie.out put list will not showing one new field.I want to add one more field to output list. field(VIKP-SDABW) In the SHP_VL10_ITEM and write the logic in the exit LV50R_VIEWG05----
>USEREXIT_PREPARE_LAYOUT_FILL.Plase explain me step-by-step.It is very uggent?Please help me.
Thanks & Regards,
sairamHi Sairam,
Go through this info.
/3 provides three "customization spots" that allow you to enhance FI/CO features without modifying the standard code. Although often collectively referred to as "user exits," two of the three have different names. SAP Enhancements are used to expand the standard functionality within SAP. Enhancements use function modules and are called from the standard SAP code. Each module in the system has a set of delivered enhancements that help companies expand the standard functionality where they need it. Enhancements were new in release 3.0.
The Open FI Interfaces or Business Transaction Events are also used to expand the standard functionality within SAP. These events are defined in the IMG. Business Transaction Events were new in release 4.0. They are not available for all modules and are not called on all integrated transactions into FI as of release 4.5B. This will change with each release and should be retested.The older User Exits in FI/CO are "Z" programs that are defined in table T80D for client-dependent user exits, and in table T80I for client-independent user exits. These are also used to expand the standard functionality within the FI/CO modules. These User Exits have been available since the early releases of SAP. All of these FI/CO User Exits are listed in this document in the Configuring User Exits (Older). The list is included because these User Exits are not a part of the Enhancements or Business Transaction Events and do not have an Info System for searching.
Benefits Standard SAP functionality can be enhanced without modification to the standard code.
Upgrades do not erase the functionality and it does not have to be re-transported or re-entered into the system. The enhancements should be thoroughly tested when upgrading to ensure the system will still work as implemented.
Configuring SAP Enhancements
Basic Steps in Configuring an Enhancement
Find the appropriate Enhancement.
Enter the ABAP code in the "Z" program within the function module.
Create a project.
Add the Enhancement to the project.
Activate the project.
Example Business Scenario for Enhancements
Company A has a requirement to validate all customer master records created with a U.S. address. The U.S. entity reports on the industry field on the customer master. This is only a U.S. requirement and should not be required for the other countries, so the field status would not work. To accomplish this requirement, Company A will need to set up an Enhancement for the customer master transaction. The necessary steps are detailed below with screenprints. This example was configured in a 4.6C system.
Detailed Steps
1. Tools ABAP Workbench Utilities Enhancements Definition Utilities List Enhancements
2. Do not execute this without any parameters! There are too many Enhancements and it will probably time out. Youre searching for a customer master exit. Enter mast in the short text (see Figure 1). Youll start there. Searching for an exit can be tricky, so make sure you try several things before giving up.
3. Execute the search.
Figure 1. Start Your Search for a Master Exit Here
4. Look through the list until you find the Enhancement for User exits: Customer Master Data.
5. Double-click on the enhancement SAPMF02D. This will take you to the details of the Enhancement and list the function modules included in the Enhancement.
6. To continue, double-click on the function module EXIT_SAPMF02D_001
7. This will take you to the source code for the function module. Click on the Import tab to review the tables/fields that are available for the Enhancement (see Figure 2).
Figure 2. The Tables That Are Available for the Enhancement
8. To view the tables/fields that can be changed in the function module, click on the Export and Changing tabs. For this function module, these tabs are empty because you can only validate data. You cannot change any fields in this enhancement.
9. Return to the Source Code tab.
10. Scroll down until you see the Include statement in the program. The "Z" program listed after the Include is where your code will be written (see Figure 3).
Figure 3. Your Program Will Begin After the Include Statement
11. Double-click on the Include. You will be prompted to create the include. Click on Yes to create.
12. At this point you will be prompted to enter a development class and to create a transport request. If you do not know which development class to use, please contact your technical team.
13. Enter the following ABAP code into the program (Figure 4):
User exit to ensure that all US customers have a group key
entered on the customer master.
if i_kna1-land1 = 'US' and
i_kna1-brsch = ' '.
message e001(F2).
endif.
Figure 4. The ABAP Code You Need to Enter
14. Note that the table name matches the table name in the import tab tables.
15. In this example you are using the standard message class F2 with message number 001. Normally, you will create your own message within your own message class. All customer message classes must begin with a "Z" and are created in transaction SE91.
16. Save the program.
17. The next step is to create the project. Go to transaction code CMOD or follow menu path: Tools ABAP Workbench Utilities Enhancements Project Management.
18. Enter the project name; begin the name with a "Z."
19. Click on the Create button.
Figure 5. Click on Create After You Type in the Project Name
20. Enter in a description for the project.
21. Click on the Enhancement Assignments button.
22. You will be prompted to save the enhancement. Click on Yes.
23. At this point you will be asked for a development class and to create a transport for the project. You may use the same one created when adding the ABAP code to the function module.
24. Enter the name of the enhancement SAPMF02D (see Figure 6).
Figure 6. Enter the Name of the Enhancement Here
25. Save the project.
26. Back out of the enhancement assignment.
27. Activate the project by hitting the Activate button.
The SAP Enhancement is ready to be tested! Try creating a customer with U.S. as the country and a blank group key. Be sure to test one with a group key to make sure the message is not displayed in error as well.
Configuring Business Transaction Events
Basic Steps in Configuring an Event
Make sure the application is active for Business Transaction Events.
Copy the sample interface function module into a "Z" function module.
Enter the ABAP code into the source code section of the new "Z" function module. You may choose to create a "Z" program to enter the code into and then insert the "Z" program into your function module source code.
Activate the function module.
Assign the function module to the event, country and application.
Example Business Scenario for Business Transaction Events
Company A would like to copy the group key field from the vendor master into the allocation field on all the line items within a vendor invoice and payments, including the vendor lines. This requirement assumes only one vendor is posted to in a document.
To accomplish this requirement, Company A will use the Business Transaction Event 1130, Post Document: SAP Internal Field Substitution.
1. IMG Menu Path: Financial Accounting Financial Accounting Global Settings Use Business Transaction Events Environment Infosystem (Processes).
2. Find the correct Business Event. You are updating a field, so you select the Processes Info System instead of the Publish and Subscribe Info System.
3. Execute the search with the defaults.
4. Find the correct interface for updating a document: Post Document: SAP- Internal Field Substitution (see Figure 7).
Figure 7. Find the Correct Interface for the Business Event
5. Put your cursor on the event and click on the Sample Function Module button.
6. You are now in transaction SE37 Function Builder. This is the function module (sample_process_00001130) you will need to copy into a "Z" name function module for your coding (see Figure 8).
Figure 8. This Is the Function Module You Need to Copy Your "Z" Name Function Module
7. Click on the Copy button.
8. Enter the "Z" function module name in the To Function Module field (see Figure 9).
9. Enter a Function Group. If you need to create a "Z" function group, go to transaction code SE37 and follow menu path: Go to Function Groups Create Group. A function group is a logical grouping of function modules, and the ABAP code is generated for function groups. You will be prompted for a development class and transport when creating the function group.
Figure 9. Enter Your "Z" Function Module Name Here
10. In Function Builder (transaction SE37), enter the new "Z" function module. Click on the Change button.
11. The system will default into the source code screen where you may enter your ABAP code.
12. Notice the tables available for the code. Additional tables may be declared if necessary.
13. Enter the following source code (see Figure 10):
tables: lfa1.
data: z_groupkey like lfa1-konzs.
z_groupkey = ' '.
loop at t_bseg.
check for vendor lines. If one is found, read the vendor master and
retrieve the group key field.
if t_bseg-koart eq 'K'.
select single konzs from lfa1 into z_groupkey
where lifnr = t_bseg-lifnr.
endif.
Move the group key field into all line items allocation field.
loop at t_bsegsub.
t_bsegsub-zuonr = z_groupkey.
modify t_bsegsub index sy-tabix.
endloop. "t_bsegsub
endloop. "t_bseg
Figure 10. The Screen Where You Enter Your Source Code
14. Save the function module.
15. Back out to the main Function Builder screen by clicking on the green arrow button.
16. Activate the function module by clicking on the Activate button (see Figure 11).
Figure 11. Activate the Function Module from This Screen
17. Assign the function module to the event in the IMG: Financial Accounting Financial Accounting Global Settings Business Transaction Events Settings Process Function Modules of an SAP Appl.
18. Hit enter past the warning messages that this is SAP data.
19. Click on the New Entries button.
20. Enter the process for your interface. In your example it is 00001130.
21. Enter the country the interface is valid for. If it is valid for all countries, leave this field blank.
22. Enter the application the interface should be called for. If it should be called for all applications, leave this field blank. Please note that not all integrated transactions are programmed to go through these interfaces! You will need to test to find out!
23. Enter the new "Z" function module (see Figure 12).
Figure 12. Enter Your New "Z" Function Module Here
24. Save the settings. At this point you will be prompted for a CTS number for the configuration change.
25. The Business Transaction Event is complete! You are ready for testing.
Configuring User Exits (Older)
Basic Steps in Configuring an User Exit
Create a "Z" program for the User Exits and enter the necessary ABAP code.
Enter the new program name into table T80D.
Configure the application to call the User Exit.
List of User Exits
Variable Field Movements
Substitutions in FI, CO, PCA
Validations in FI, CO, PCA
Rollups in SPL
Fixed Field Movements in SPL
Cost Center Summarization on Detail Screen
Sets Formula Variables
Example Business Scenario for User Exits
Company A would like to add a "Z" field in the Special Purpose Ledger to capture a Business Unit field for reporting. They have used all the standard SAP fields such as Business Area and Profit Center. The field will only be used for reporting and is only needed in the Special Purpose Ledger. You created a special ledger table (ZZSPL1) with field Z_BUNIT and need to populate this field based on a combination of G/L account, fund and functional area.
To accomplish this requirement, Company A will use the Variable Field Movement User Exit. To make maintenance easier, table ZZBUSUNIT was created with the G/L account, fund and functional area fields as key fields, and the business unit field as a non-key field. You generated the table maintenance so the table could be updated using transaction SM30. SAP users update the business unit determination rules in table ZZBUSUNIT by entering the G/L account, fund and functional area, and then the business unit that combination should be posting to. The User Exit will read table ZZBUSUNIT using the G/L account, fund and functional area from the posting transaction and determine the business unit. The steps for using the user exit are detailed below. This example was created on a 4.6C system.
1. Copy the delivered template User Exit program RGIVU000_TEMPLATE into a "Z" program. Follow menu path Tools ABAP Workbench Development ABAP Editor (transaction code SE38). In early releases, the delivered program was RGIVU000.
2. You will be prompted for a development class and a transport. Please check with the technical team for the correct development class.
3. At the initial ABAP Editor screen, enter your new "Z" program name, select the Source Code button and click on Change (see Figure 13).
Figure 13. To Enter Your New Code, Select Source Code and Click on the Change Button
4. Enter the following code in the User Exit (Figure 14):
FORM E01_MVC USING FROM_FIELD TO_FIELD.
to_field = 'CORP'. "Set a default business unit.
read table zzbusunit to determine the business unit field.
select single z_bunit from zzbusunit into to_field
where hkont = accit_glx-hkont and
geber = accit_glx-geber and
fkber = accit_glx-fkber.
ENDFORM.
Figure 14. Enter Your New Code at This Screen.
5. Activate the program by clicking on the Activate button.
6. Change the configuration in the User Exit table to point to your new "Z" program.
7. Follow the IMG menu path: Financial Accounting Special Purpose Ledger Basic Settings User Exits Maintain Client Specific User Exits.
8. The entry to maintain is application area GIMV: Variable Field Movement. Enter your "Z" program (see Figure 15).
Figure 15. Enter Your "Z" Program in the Application Area GIMV: Variable Field Movement
9. Save the changes.
10. The final configuration step is to assign the User Exit in the variable field movement for your special ledger table. In the IMG: Financial Accounting ? Special Purpose Ledger ? Basic Settings ? Master Data ? Maintain Field Movements. Field movements control how the fields in a special ledger table are populated. They can be populated straight from other fields in a posting or through User Exits.
Figure 16. After You Assign the Business Unit Field and the G/L Account, the Exit Field Should Contain U01.
11. Assign the business unit field as a receiver and the G/L account as the sender. The Exit field should contain U01 (see Figure 16).
12. The User Exit number U01 calls User Exit E01_MVC form in the "Z" program.
13. Save the field movement.
14. You are ready to test your User Exit!
Rewords some points.
Rgds,
P.Naganjana Reddy -
Function Module to send output list to mail.
Hi,
Could anyone let me know the function module to send output list to mail.
Regards,
RameshHi,
Please try with following sample code
Sending mail with attachment
This program will allowed you to send email with attachment.
First, specify the attachment file from your local hardisk and execute.
Next, specify the sender email address and click the send button.
report YUP_MAIL.
data method1 like sy-ucomm.
data g_user like soudnamei1.
data g_user_data like soudatai1.
data g_owner like soud-usrnam.
data g_receipients like soos1 occurs 0 with header line.
data g_document like sood4 .
data g_header like sood2.
data g_folmam like sofm2.
data g_objcnt like soli occurs 0 with header line.
data g_objhead like soli occurs 0 with header line.
data g_objpara like selc occurs 0 with header line.
data g_objparb like soop1 occurs 0 with header line.
data g_attachments like sood5 occurs 0 with header line.
data g_references like soxrl occurs 0 with header line.
data g_authority like sofa-usracc.
data g_ref_document like sood4.
data g_new_parent like soodk.
data: begin of g_files occurs 10 ,
text(4096) type c,
end of g_files.
data : fold_number(12) type c,
fold_yr(2) type c,
fold_type(3) type c.
parameters ws_file(4096) type c default 'c:\debugger.txt'.
Can me any file fromyour pc ....either xls or word or ppt etc ...
g_user-sapname = sy-uname.
call function 'SO_USER_READ_API1'
exporting
user = g_user
PREPARE_FOR_FOLDER_ACCESS = ' '
importing
user_data = g_user_data
EXCEPTIONS
USER_NOT_EXIST = 1
PARAMETER_ERROR = 2
X_ERROR = 3
OTHERS = 4
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
fold_type = g_user_data-outboxfol+0(3).
fold_yr = g_user_data-outboxfol+3(2).
fold_number = g_user_data-outboxfol+5(12).
clear g_files.
refresh : g_objcnt,
g_objhead,
g_objpara,
g_objparb,
g_receipients,
g_attachments,
g_references,
g_files.
method1 = 'SAVE'.
g_document-foltp = fold_type.
g_document-folyr = fold_yr.
g_document-folno = fold_number.
g_document-objtp = g_user_data-object_typ.
*g_document-OBJYR = '27'.
*g_document-OBJNO = '000000002365'.
*g_document-OBJNAM = 'MESSAGE'.
g_document-objdes = 'sap-img.com testing by program'.
g_document-folrg = 'O'.
*g_document-okcode = 'CHNG'.
g_document-objlen = '0'.
g_document-file_ext = 'TXT'.
g_header-objdes = 'sap-img.com testing by program'.
g_header-file_ext = 'TXT'.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = sy-uname
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header
FOLMEM_DATA =
RECEIVE_DATA =
File from the pc to send...
method1 = 'ATTCREATEFROMPC'.
g_files-text = ws_file.
append g_files.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = g_owner
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header
method1 = 'SEND'.
g_receipients-recnam = 'MK085'.
g_receipients-recesc = 'B'.
g_receipients-sndex = 'X'.
append g_receipients.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = g_owner
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header.
*-- End of Program
Thanks,
-Pramod -
How can we modify alv output list
Hi
this is fazil.
Please tell me any body How can we modify alv output list.
Thanks & Regards
Fazil
[email protected]Fazil,
check the program,
You can find the code in this program 'BCALV_FIELDCAT_TEST'
*& Report BCALV_FIELDCAT_TEST *
This report allows to modify the fieldcatalog of a corresponding
output table and to view the effects of your changes directly.
Note that for some changes you need to newly display the whole
ALV Grid Control, e.g., DDIC-Fields are read only the first time
you call SET_READY_FOR_FIRST_DISPLAY.
Note also that not all scenarios can be tested since the output
table does not comprise all fields to test available features
of the fieldcatalog. Copy this program and extend the output
table accordingly if you want to test such a special feature.
(The field CARRNAME in 'gt_sflight' was added to test field REF_FIELD
and TXT_FIELD of the fieldcatalog - see what happens if you
calculate subtotals by carrier-id).
report bcalvt_fieldcatalog .
data: ok_code type sy-ucomm,
save_ok_code type sy-ucomm,
fieldcatalog for output table
gt_fieldcat type lvc_t_fcat,
fieldcatalog for fieldcatalog itself:
gt_fcatfcat type lvc_t_fcat,
gs_fcatlayo type lvc_s_layo.
Output table
data: begin of gt_sflight occurs 0.
data: carrname type s_carrname.
include structure sflight.
data: end of gt_sflight.
data: g_max type i value 100.
data: g_all type c value SPACE.
Controls to display gt_sflight and corresponding fieldcatalog
data: g_docking type ref to cl_gui_docking_container,
g_alv type ref to cl_gui_alv_grid.
data: g_custom_container type ref to cl_gui_custom_container,
g_editable_alv type ref to cl_gui_alv_grid.
LOCAL CLASS Definition
class lcl_event_receiver definition.
public section.
methods handle_data_changed
for event data_changed of cl_gui_alv_grid
importing er_data_changed.
endclass.
class lcl_event_receiver implementation.
method handle_data_changed.
at the time being, no checks are made...
endmethod.
endclass.
data: event_receiver type ref to lcl_event_receiver.
end-of-selection.
set screen 100.
*& Module STATUS_0100 OUTPUT
text
module status_0100 output.
set pf-status 'BASIC'.
set titlebar 'BASICTITLE'.
create ALV Grid Control in the first run
if g_docking is initial.
perform create_and_init_controls.
endif.
endmodule. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
module user_command_0100 input.
save_ok_code = ok_code.
clear ok_code.
case save_ok_code.
when 'SUBMIT'.
set the frontend fieldcatalog
ATTENTION: DDIC-Fields are not updated using this method!
(see 'RESTART')
call method g_alv->set_frontend_fieldcatalog
exporting
it_fieldcatalog = gt_fieldcat.
call method g_alv->refresh_table_display.
call method cl_gui_cfw=>flush.
when 'RESTART'.
Destroy the control currently visible and display it again
using the changed fieldcatalog.
perform restart_sflight.
when '&ALL'.
perform switch_visibility.
endcase.
endmodule. " USER_COMMAND_0100 INPUT
*& Form CREATE_AND_INIT_CONTROLS
text
--> p1 text
<-- p2 text
form create_and_init_controls.
create object g_docking
exporting
dynnr = '100'
extension = 150
side = cl_gui_docking_container=>dock_at_bottom.
create object g_alv
exporting
i_parent = g_docking.
create object g_custom_container
exporting
container_name = 'CC_0100_FIELDCAT'.
create object g_editable_alv
exporting
i_parent = g_custom_container.
register events
create object event_receiver.
set handler event_receiver->handle_data_changed for g_editable_alv.
call method g_editable_alv->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_modified.
perform build_fieldcatalogs changing gt_fieldcat gt_fcatfcat.
perform modify_fieldcatalog changing gt_fcatfcat.
perform select_data. "CHANGING gt_sflight
call method g_alv->set_table_for_first_display
changing
it_outtab = gt_sflight[]
it_fieldcatalog = gt_fieldcat[].
optimize column width of grid displaying fieldcatalog
gs_fcatlayo-cwidth_opt = 'X'.
Get fieldcatalog of table sflight - alv might have
modified it after passing.
call method g_alv->get_frontend_fieldcatalog
importing et_fieldcatalog = gt_fieldcat[].
call method cl_gui_cfw=>flush.
Display fieldcatalog of table sflight:
call method g_editable_alv->set_table_for_first_display
exporting
is_layout = gs_fcatlayo
changing
it_outtab = gt_fieldcat[]
it_fieldcatalog = gt_fcatfcat[].
register events
create object event_receiver.
set handler event_receiver->handle_data_changed for g_editable_alv.
endform. " CREATE_AND_INIT_CONTROLS
*& Form restart_sflight
text
--> p1 text
<-- p2 text
form restart_sflight.
data: ls_fieldcat type lvc_s_fcat.
free g_docking and thus g_alv
call method g_docking->free.
clear g_docking.
clear g_alv.
create new instances
create object g_docking
exporting
dynnr = '100'
extension = 150
side = cl_gui_docking_container=>dock_at_bottom.
create object g_alv
exporting
i_parent = g_docking.
This is an internal method to invalidate all fields in the fieldcat
loop at gt_fieldcat into ls_fieldcat.
clear ls_fieldcat-tech_comp.
modify gt_fieldcat from ls_fieldcat.
endloop.
Newly display the list with current fieldcatalog.
call method g_alv->set_table_for_first_display
changing
it_outtab = gt_sflight[]
it_fieldcatalog = gt_fieldcat.
Get fieldcatalog - it might be changed by ALV in the last call
call method g_alv->get_frontend_fieldcatalog
importing
et_fieldcatalog = gt_fieldcat[].
call method g_editable_alv->refresh_table_display.
call method cl_gui_cfw=>flush.
endform. " restart_sflight
*& Form select_data
text
--> p1 text
<-- p2 text
form select_data.
data: lt_sflight type table of sflight with header line,
ls_scarr type scarr.
select data of sflight
select * from sflight into table lt_sflight up to g_max rows.
copy data to gt_sflight and update CARRNAME
loop at lt_sflight.
move-corresponding lt_sflight to gt_sflight.
select single * from scarr into ls_scarr
where carrid = gt_sflight-carrid.
gt_sflight-carrname = ls_scarr-carrname.
append gt_sflight.
endloop.
endform. " select_data
*& Form BUILD_FIELDCATALOGS
text
<--P_GT_FIELDCAT text
<--P_GT_FCATFCAT text
form build_fieldcatalogs changing p_fieldcat type lvc_t_fcat
p_fcatfcat type lvc_t_fcat.
data: ls_fcat type lvc_s_fcat.
Fieldcatalog for table SFLIGHT: p_fieldcat
generate fieldcatalog automatically
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'SFLIGHT'
I_CLIENT_NEVER_DISPLAY = 'X'
changing
ct_fieldcat = p_fieldcat[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
shift all column positions to the right except for MANDT
loop at p_fieldcat into ls_fcat.
if ls_fcat-fieldname ne 'MANDT'.
add 1 to ls_fcat-col_pos.
if ls_fcat-fieldname = 'CARRID'.
ls_fcat-txt_field = 'CARRNAME'."link CARRNAME to CARRID
endif.
modify p_fieldcat from ls_fcat.
endif.
endloop.
create a new line for CARRNAME in p_fieldcat
clear ls_fcat.
ls_fcat-fieldname = 'CARRNAME'.
ls_fcat-ref_table = 'SCARR'.
ls_fcat-col_pos = 1.
insert new line before CARRID (do not forget MANDT!).
insert ls_fcat into p_fieldcat index 1.
Fieldcatalog for table LVC_T_FCAT:p_fcatfcat
Generate fieldcatalog of fieldcatalog structure.
This fieldcatalog is used to display fieldcatalog 'p_fieldcat'
on the top of the screen.
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'LVC_S_FCAT'
I_CLIENT_NEVER_DISPLAY = 'X'
changing
ct_fieldcat = p_fcatfcat[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
Hide all fields that are not documented (valid for release 4.6A)
perform hide_fields changing p_fcatfcat.
endform. " BUILD_FIELDCATALOGS
*& Module EXIT_PROGRAM INPUT
text
module exit_program input.
leave program.
endmodule. " EXIT_PROGRAM INPUT
*& Form MODIFY_FIELDCATALOG
text
<--P_GT_FCATFCAT text
form modify_fieldcatalog changing p_fcatfcat type lvc_t_fcat.
data ls_fcat type lvc_s_fcat.
loop at p_fcatfcat into ls_fcat.
ls_fcat-coltext = ls_fcat-fieldname.
ls_fcat-edit = 'X'.
if ls_fcat-fieldname = 'COL_POS' or ls_fcat-fieldname = 'FIELDNAME'.
ls_fcat-key = 'X'.
endif.
modify p_fcatfcat from ls_fcat.
endloop.
endform. " MODIFY_FIELDCATALOG
form hide_fields changing p_fieldcat type lvc_t_fcat.
data: ls_fcat type lvc_s_fcat.
Only show documented fields of fieldcatalog.
For a documentation choose "Help->Application Help" in the menu.
loop at p_fieldcat into ls_fcat.
if not (
ls_fcat-fieldname eq 'CFIELDNAME'
or ls_fcat-fieldname eq 'COL_POS'
or ls_fcat-fieldname eq 'COLDDICTXT'
or ls_fcat-fieldname eq 'COLTEXT'
or ls_fcat-fieldname eq 'CURRENCY'
or ls_fcat-fieldname eq 'DD_OUTLEN'
or ls_fcat-fieldname eq 'DECIMALS_O'
or ls_fcat-fieldname eq 'DECMLFIELD'
or ls_fcat-fieldname eq 'DO_SUM'
or ls_fcat-fieldname eq 'DRAGDROPID'
or ls_fcat-fieldname eq 'EDIT_MASK'
or ls_fcat-fieldname eq 'EMPHASIZE'
or ls_fcat-fieldname eq 'EXPONENT'
or ls_fcat-fieldname eq 'FIELDNAME'
or ls_fcat-fieldname eq 'HOTSPOT'
or ls_fcat-fieldname eq 'ICON'
or ls_fcat-fieldname eq 'INTLEN'
or ls_fcat-fieldname eq 'INTTYPE'
or ls_fcat-fieldname eq 'JUST'
or ls_fcat-fieldname eq 'KEY'
or ls_fcat-fieldname eq 'LOWERCASE'
or ls_fcat-fieldname eq 'LZERO'
or ls_fcat-fieldname eq 'NO_OUT'
or ls_fcat-fieldname eq 'NO_SIGN'
or ls_fcat-fieldname eq 'NO_SUM'
or ls_fcat-fieldname eq 'NO_ZERO'
or ls_fcat-fieldname eq 'OUTPUTLEN'
or ls_fcat-fieldname eq 'QFIELDNAME'
or ls_fcat-fieldname eq 'QUANTITY'
or ls_fcat-fieldname eq 'REF_FIELD'
or ls_fcat-fieldname eq 'REF_TABLE'
or ls_fcat-fieldname eq 'REPREP'
or ls_fcat-fieldname eq 'REPTEXT'
or ls_fcat-fieldname eq 'ROLLNAME'
or ls_fcat-fieldname eq 'ROUND'
or ls_fcat-fieldname eq 'ROUNDFIELD'
or ls_fcat-fieldname eq 'SCRTEXT_L'
or ls_fcat-fieldname eq 'SCRTEXT_M'
or ls_fcat-fieldname eq 'SCRTEXT_S'
or ls_fcat-fieldname eq 'SELDDICTXT'
or ls_fcat-fieldname eq 'SELTEXT'
or ls_fcat-fieldname eq 'SP_GROUP'
or ls_fcat-fieldname eq 'SYMBOL'
or ls_fcat-fieldname eq 'TECH'
or ls_fcat-fieldname eq 'TIPDDICTXT'
or ls_fcat-fieldname eq 'TOOLTIP'
or ls_fcat-fieldname eq 'TXT_FIELD' ).
ls_fcat-tech = 'X'.
endif.
modify p_fieldcat from ls_fcat.
endloop.
endform.
form switch_visibility.
data: lt_fcatfcat type lvc_t_fcat,
ls_fcat type lvc_s_fcat.
call method g_editable_alv->get_frontend_fieldcatalog
importing ET_FIELDCATALOG = lt_fcatfcat.
if not g_all is initial.
perform hide_fields changing lt_fcatfcat.
g_all = SPACE.
else.
loop at lt_fcatfcat into ls_fcat.
if ls_fcat-tech eq 'X'.
ls_fcat-tech = SPACE.
ls_fcat-no_out = 'X'.
modify lt_fcatfcat from ls_fcat.
endif.
endloop.
g_all = 'X'.
endif.
call method g_editable_alv->set_frontend_fieldcatalog
exporting it_fieldcatalog = lt_fcatfcat.
call method g_editable_alv->refresh_table_display.
endform.
Don't forget to rewaard if useful.. -
Generate spool req number for report output list
Hi,
How to generate spool request number for report output list while executing the report.Please provide if you have any sample code.
Thanks and Regards,
BSR.HI srinivas,
welcome to sdn.
Exporting the Contents of a Spool Request
Use
You want to export the content of a spool request in one of the following ways:
· As a text file to the SAP GUI working directory
· Unconverted or as a table, RTF, or HTML to a directory of your choice
· As a PDF file to a directory of your choice
Procedure
Follow the procedure below:
Exporting to the SAP GUI Working Directory
If you are exporting large quantities of data, downloading the spool request as a text file to the SAP GUI working directory is a good solution.
Choose Spool Request ® Forward® Export as Text.
The entire text is stored in your SAP GUI working directory in ASCII format.
A file of this type is named using the following pattern:
.txt
Example: ABC0000004327.txt
You require appropriate authorization for this function from your administrator.
Exporting Unconverted or as a table, RTF, or HTML to a Directory of Your Choice
With this method of exporting a spool request, the content of the spool request is first displayed, and you then download the content in the format of your choice to a directory of your choice.
1. Select the spool request to be exported and choose Display Contents.
2. In the case of SAPscript/Smart Forms documents, activate list display by choosing Goto.
3. Choose System ® List ® Save ® Local File.
4. Choose one of the available formats and confirm your choice.
5. Choose a directory and save the spool request.
By default, only the first 10 pages of a spool request are saved in a file. You can increase the number of pages to be saved by choosing Goto ® Display Requests ® Settings and making the desired entries in the Display Area group box.
Exporting as a PDF File
You want to export the contents of a spool request as a PDF file to a directory of your choice, and print the file as required. The PDF file contains the print data in the format in which it would be output by the printer.
The following procedure is irrelevant for the printing of PDF-based forms, since a PDF file is already returned with this method. See also Displaying and Printing PDF-Based Forms.
You also require authorization from your administrator to run this report.
The PDF file is generated as follows with report RSTXPDFT4:
1. Generate a spool request from the document to be printed.
2. In transaction SE38, start report rstxpdft4.
3. In the displayed window, enter the spool request number and the directory in which the PDF file is to be stored.
Leave the Download PDF File option selected.
Choose Execute.
4. In the next window, you can confirm or change the path in which the file is be stored.
Save your entries.
5. The system displays a log from which you can see whether the report was successfully performed.
You can then open the file from the directory and print it as required.
Restrictions for Exporting as a PDF File
· The PDF conversion only supports true bar codes for Smart Forms, which were generated with the new bar code technology as of SAP NetWeaver 04. In all other cases, the bar code is only simulated.
· PDF conversion, especially of ABAP lists, is slower and is therefore not suitable for mass printing. However, you can speed up the conversion to PDF using the FASTLISTCONV option in report RSTXPDF3.
· The font selection for ABAP lists is predefined in the PDF converter and cannot be changed.
For more information about constraints, see SAP Note 323736 in the SAP Service Marketplace
see this links
http://help.sap.com/saphelp_40b/helpdata/en/d9/4a98f351ea11d189570000e829fbbd/content.htm
http://web.mit.edu/SAPR3/docs/webdocs/reports/rpRFprint.html
regards
shankar
reward me if usefull -
How can I change Output Method and Mailbox# programmatically (without GUI)?
We have several iR5075s and about 300 workplaces. For security reasons we only allow "Store" output method. So every user has access to some printers and for every printer they need to reconfigure printing preferences.
For convenience we'd like to do the following automatically (via Group Policy or scripts):
1) Change "Output Method" to "Store".
2) Set the correct mailbox number.
The problem is that the related settings seem to be stored in registry as a binary blob (HKCU\Printers\Connections\<printer name>\DevMode). I've been searching for a while but I couldn't find anything that would explain what's what in that blob.
Any clues?
Or maybe there's another way?
P.S. I'm familiar with scripting, regular expressions, etc. Acquiring the necessary parameters (such as mailbox#) is not a problem at all. I only need to know where and what I should change (in registry or elsewhere).
[Edit] Update: Actually it seems the settings are stored in HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Print\Providers\Client Side Rendering Print Provider\<user sid>\Printers\Connections\,,<server name>,<printer name>\RemotePrinterCache. It's also a binary blob though.
Eventually I'll reverse engineer it enough for my goals. I just don't understand why it must be so complicated...https://mega.co.nz/#!5QQWmaTI!cryW-pykueRNffdDYnj1OpxiHgG0mcAqLOh4Gmt2PJk
But I'm not sure how useful you'll find it. I wrote it as a temporary solution (we're now migrating to UniFlow) and it's anything but universal. At best, I guess, you'll be able to salvage some of my code while writing your own. -
Issue with PO change output - Service line items
Hi All,
This is issue with PO change output. We have PO with line item 10, 20 and item 10 has 4 service line items. PO is approved and initial print out is taken.
Some one goes and makes changes to 1st service line items of PO line item 10.
A change output gets triggered. When this output is printed, it prints line item 10 details. This is standard functionality as this item is changed. But its printing all the service line items for this PO line item. Consider a case where there are 3000 service lines for a PO item. If I add 1 service item to this PO line item, the change form prints 3001 services for that line item. There were no changes done to first 3000 service line items.
Currently PO change form takes care of changes at PO line item but it does not take care of changes at service line item level.
Is there any setting that needs to be done for this so that it only considers the changes at Service line item level also.
Regards,
ShahuIf you're using a standard form, send a message to SAP. Otherwise make a change in the form.
-
How to select the output list check boxes
Hi ABAP gurus,
I am developing the on report, it display the output list, in that output list first column is Check box,
here i created the 3 Pushbuttons on application tool bar, one pushbutton is SELECT ALL, 2nd one is DESELECT ALL , 3rd one is CREDIT NOT CREATE,
here when i click on the Select all button it will select all the check boxs and click on the credit not button it will create credit memos for all the customers, if i select the one or more than one check boxs, it will not working means (Credit note will not be created for that paricular customer)
plz tell me answer, if u know the any example programs related to this program plz send me.Hi,
refer this sample code.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'F2'.
PERFORM selection.
WHEN 'SELECTALL'.
PERFORM selectall.
WHEN 'DESELECTAL'.
PERFORM deselectall.
ENDCASE. " CASE SY-UCOMM
*& Form selection *
Selecting records of basic list and display flight information *
No parameters transferred *
FORM selection .
DO w_lines TIMES.
READ LINE w_lineno FIELD VALUE w_checkbox INTO w_checkbox
fs_spfli-carrid INTO fs_spfli-carrid
fs_spfli-connid INTO fs_spfli-connid
w_mark INTO w_mark.
IF sy-subrc EQ 0.
IF w_checkbox EQ 'X' AND w_mark NE '*'.
w_mark = '*'.
MODIFY CURRENT LINE FIELD VALUE w_mark
FIELD FORMAT w_checkbox INPUT OFF.
SELECT carrid " Airline Code
connid " Flight Connection Number
fldate " Flight date
seatsmax " Maximum capacity
seatsocc " Occupied seats
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE t_sflight
WHERE carrid EQ fs_spfli-carrid AND connid EQ fs_spfli-connid.
IF sy-subrc EQ 0.
LOOP AT t_sflight INTO fs_sflight.
WRITE :/2 fs_sflight-carrid,
10 fs_sflight-fldate,
25 fs_sflight-seatsmax,
45 fs_sflight-seatsocc.
ENDLOOP. " LOOP AT T_SFLIGHT INTO....
ULINE.
CLEAR t_sflight.
ELSE.
MESSAGE text-001 TYPE 'S'.
ENDIF. " IF SY-SUBRC EQ 0
ENDIF. " IF W_CHECKBOX EQ 'X' AND .....
ENDIF. " IF SY-SUBRC EQ 0
ADD 1 TO w_lineno.
CLEAR w_checkbox.
ENDDO. " DO W_LINES TIMES
w_lineno = 3.
ENDFORM. " Selection -
Regarding editable space in the output list
hi experts,
i am developing a simple report in which i have to show the output like this...
write:/04'A.K.Basu VP Commercial.',115'Prepared By-' ________________.
here what i want that after "<b>prepared by</b>" the user can write his name in the <b>output list.</b>..means the space after 'prepared by' i want to make it editable so that when i transfer it to the excel sheet the user name will come..............plz help me...tell us also how did u solved this gr8 problem
Sameer -
Submit report to get output list
Hi friends,
I have one requirement to take output list of a transaction in one internal table.
As the transaction is very much interactive , that perticular internal table gets populated somewhere in the middle of the standard program...later on that table undergoes further processing to cope up with he interaction...
using SUBMIT report , we can export it to memory
and using FM 'LIST_FROM_MEMORY' we can get it back as following.
list_tab contains data in two fields RFCSIZE and RFCRECORD in numbers only...
Submit report_name with SELECTION-TABLE SELTAB
exporting list to Memory and return.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = list_tab
EXCEPTIONS
not_found = 1
OTHERS = 2.
BUT , Can we get the same output list (i.e before interaction) in one internal table...
thanksHi,
You can check whether the list is exported in between before the submit.
Supposed it is exported before the interaction den you can import it ..Just check the value is fetched and stored in a temporary table.
Is it a csutom program or standard SAP one..?
Hope this helps.
Regards,
Navin.
Maybe you are looking for
-
Cannot Login after 10.4.11 Upgrade
I recently upgraded my G4 Quicksilver Power Mac from 10.3.9 to Tiger. The install DVD was for 10.4.6. The DVD installed fine, then I ran the system updater to get the remaining 10.4 updates. It updated Java no problem, then the Mac OS X Update Combin
-
Best practice for making database connection to Forms 10 apps?
Hi To upgrade our Forms applications we are moving from version 3 to 10. Our old system runs Forms applications and the connection to the database is based on the individual user. This means that any tables or views used require that the user has spe
-
Print texts in different formats on one page
Hi all, Is it possible to print the texts on one page in different fonts and sizes? It seems like PrintTextBuffer prints all the texts onto one page at once and there is no chance to change the format. Thanks, LT Solved! Go to Solution.
-
Making a PDF - something's missing
I have Acrobat 8.0 Standard. I got a different computer this week and for the time being I am on Word 2003. Previously, I was on Word 2007. Well, now when I PDF a Word doc, I no longer get the form that has the radio buttons that give you the option
-
Spry, horizontal menu, need all menu buttons on one line
hi in DW CS4I would like to understand why the spry menu that I have doesn't line up on a straight line horizontally. sometimes it lines up correctly in DW, but when I either go to live view or publish it, one of the menu buttons goes on the next lin