RE: How to change Idoc segment data
Hi folks,
I have a requirement where in I have a Inbound DELIN Idoc in the SAP system. When I am reprocessing the same Idoc through WE19 by changing the delivery schedule and then changing the E1EDP16-WMENG value in runtime while debugging, the same is getting updated in correponding SDSA but when the new Idoc is getting triggered, only previous old Idoc value is getting reflected.
Kindly suggest!!!!
Vishal.
No I dont want to change the value in WE19.... In runtime I am changing the value of schedule Line quantity and the same is getting update in SDSA also but when a new idoc is getting created that value is not getting reflected in that Idoc segment field.
Kindly suggest.
Similar Messages
-
How to change the IDOC segment data
How to change the segment data for all IDOCs at one shot J.
For exmple E1EDK02-QUALF - 004
E1EDK02-RGID - 100000008 (Inquiry No)
to
E1EDK02-QUALF - 004
E1EDK02-RGID - 200000005 (Quotation)
Any hints, tips .Appreciate your help and more rewards.
Regards,
CrisHi,
You can change the IDOC values using the transaction WE09
Give the IDOC number..
Press F8..
Expand the tree..
Double click on the segment..
Then in the menu..DATA RECORD -> DISPLAY/CHANGE..
It will go in change mode..Change the IDOC value..
Thanks,
Naren -
How to change manual segment management to automatic? and vice versa
how to change manual segment management to automatic? and vice versa
i can't find any option for that in EM
ThanksPaolo Marin,
The original wants to change from Freelist management to Automatic Segment Space management - the URL you supplied is about converting from Dictionary Managed tablespaces (DMT) to Locally Managed tablespaces (LMT).
In passing - the article you reference says: First, MAKE sure to take a full backup of the tablespace and all related tablespaces (inter-tablespace referential integrity) before running this procedure:. There's no such thing as 'tablespace referential integrity', but (a) it would be a good idea to make sure that no-one else is using the database whilst you do a conversion, and (b) it's the system tablespace that holds the data dictionary so that's the one other (really important) tablespace you have to back up before starting.
There is a very old note about the limitations of doing the DMT -> LMT conversion here: http://www.jlcomp.demon.co.uk/book_8i/ch_08.html#Extent%20Management
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
https://www.jlcomp.demon.co.uk -
How to change the default date in Person assignment tab?
Hi experts,
Does anyone know how to change the default date in person assignment tab in cj20n? Currently, the system always take the scheduled finish date to the date of the person assignment tab. Can I change it to the start date?
Thanks and rgs,
MichelleHi Michelle,
Goto SPRO->Project system->Dates->Scheduling->Specify Parameters for Network Scheduling, Here you can control the workforce planning dates.
Hope this is useful...
Regards
Aatish -
How to change the posting date at the line item level in a sales order
how to change the posting date at the line item level in a sales order
Hi,
I believe the POSTING DATE will appear on the accounting document
In the Accounting document, the posting date will be based on the Billing date.
Please let me know if you need any more details
santosh -
Hi,
Can anyone tell in which tables is the IDOC segments data is stored?
Rgds,
KanwarHi,
IDoc segment data is stored in strcuture like EDIDD.
Suppose you have created IDoc,then the function module export parameter for Idoc data is IDOC_data(defined as IDOC_DATA STRUCTURE EDIDD).
then you can access data as below.
LOOP AT IDOC_DATA.
CASE IDOC_DATA-SEGNAM.
WHEN 'E1EDP01'.
MOVE IDOC_DATA-SDATA TO E1EDP01.
***Here e1edp01 structure will give you details of ***individual field.
ENDCASE.
ENDLOOP.
Similarly you can access data for all segments.
Thanks.
Mark points if helpful. -
How SAP handles Child Idoc segment data insertion automatically
Hello,
We have some Infotypes with extra segments and IDocs are getting created with Parent and child segments.
To fill the data into the parent/child segments, we are currently using User-Exits.
Is there any settings/config in table level(e.g. T777D etc), or any other way, so that SAP handles the data filling into parent/child segments automatically.
Thanks.No I dont want to change the value in WE19.... In runtime I am changing the value of schedule Line quantity and the same is getting update in SDSA also but when a new idoc is getting created that value is not getting reflected in that Idoc segment field.
Kindly suggest. -
HI All,
I need to pass a constant value for the fields in segments between 2 systems,where can i do that,there a transaction code wher we can do,plz let me know,all useful answers are rewardedHi
Data Creation in Idoc
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
IDoc is a intermediate document to exchange data between two SAP Systems.
*IDocs are structured ASCII files (or a virtual equivalent).
*Electronic Interchange Document
*They are the file format used by SAP R/3 to exchange data with foreign systems.
*Data Is transmitted in ASCII format, i.e. human readable form
*IDocs exchange messages
*IDocs are used like classical interface files
IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
FOr testing you can use WE19.
How to create idoc?
*WE30 - you can create a IDOC type
For more information in details on the same along with the examples can be viewed on:
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
http://www.sappoint.com/presentation.html
http://www.allsaplinks.com/idoc_search.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.erpgenie.com/sapedi/idoc_abap.htm
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30 )
Create Message Type ( WE81 )
Assign Idoc Type to Message Type ( WE82 )
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
Check these out..
Re: How to create IDOC
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
go trough these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
Outbound Process
Inbound Process
AND There are basically two types of IDOCs.
Basic IDOCs
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extended IDOCs
Extending the functionality by adding more segments to existing Basic IDOCs.
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
imp links
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
www.sappoint.com
--here u can find the ppts and basic seetings for ALE
http://sappoint.com/presentation.html
www.sapgenie.com
http://www.sapgenie.com/ale/index.htm
Check these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
Please check this PDF documents for ALE and IDoc.
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
Creation of Custom IDOc type and message Type
First Create Partner Profile(WE20 Tcode) and Port Definition in WE19 Tcodes.
take the Basis help to create them.
1.First create segments in WE31 Tcode with the required dataelements
2.Create the Basic Idoc Type in WE30
release the Segments and IDOC type.
3.Create Message type in We81
4.Assign the message type to IDOC type in WE82 T code
5.Create the process code in We41 (for Outbound) WE42 (for Inbound)
6.Create A fun module in SE37 starting with ZIDOC_OUTPUT_.. by copying some Inbound (for Inbound) Outbound Fun module
7.Create Workflow setting if needed ..
8. Assign the fun module to Idoc Type, Message Type and WF object (if it is there0
9.Define setting for fun module in BD51
10.In BD51 Define the settings for Fun module..
10.Assign the Processs Code to Fun mod`ule
Reward all helpfull answers
Regards
Pavan -
How to assign idoc segment at runtime ??
Hi ,
I have a ztable which is maintained via sm30.
The field1 is a key field and other fields are idocsegment name , idoc field , field value .
Field1 = key field
idoc segment name (field2)
idoc field (field3)
field value(field4)
How do i update idoc segment and particular field with field4 at runtime .
segment name , field and value changes with the matching key field.
loop at it_edidd into wa_edidd
where segnam = wa_ztable-idoc_segment.
wa_seg = wa_edidd-sdata.
how to assign the field at runtime ?????????????????????????
how to change the value of field ?????????????????????????
update edid4 set sdata = wa_seg
where docnum = wa_edidd-docnum
and segnum = wa_edidd-segnum
and segnam = wa_edidd-segnam.
if sy-subrc <> 0 .
rollback work .
write: / wa_edidd-docnum .
else.
commit work.
endif.
endloop.
Please help me with the above code .
Regards,
RachelHello Rachel
You could do this the following way:
DATA: ls_edidd TYPE edidd,
ld_idx TYPE i.
FIELD-SYMBOLS:
<ls_segment> TYPE any,
<ld_field> TYPE any.
LOOP AT it_edidd INTO ls_eddid
WHERE ( segnam = wa_ztable-idoc_segment ).
ld_idx = syst-tabix.
ASSIGN ls_edidd-sdata TO <ls_segment> CASTING TYPE (ls_edidd-segnam). " <<<
ASSIGN COMPONENT wa_ztable-field3 OF STRUCTURE <ls_segment>
TO <ld_field>.
<ld_field> = wa_ztable-field4.
MODIFY it_edidd FROM ls_edidd INDEX ld_idx.
ENDLOOP.
However, be aware that your logic might fail in case of repetitive segments.
Regards
Uwe -
How to populate IDOC segments...
Hello Experts,
I was just tasked to add new fields in an IDOC segment. My question is, how do I populate
those newly created fields? The data will be coming from a purchase order.
Thank you guys and take care!Hi,
U cannot edit the existing segment u have to create a zsegment with the fields and then under the main segment u have to add this new segment..also u have create a extended idoc in ur case...then only u can add this new segment..also once u create a segment u have to release it...
u have to write the code in the userexit only...
check the sample code which i have done for my requirement for sales order..
*& Include ZXVEDU02
Program: Function Module:EXIT_SAPLVEDC_002 Creation Date: 12-04-2006 *
Program Type : Outbound IDOC Enhancement *
Program Description:OutBound IDOC Enhancement *
Modification ID:001 *
Date : 25-05-2006 *
Description : 1.The sales organization master data needs to be sent as supplier party
details.New segment ZZSALORG is created and attached to the parent
segment E1EDK01
2.Data required to be sent are:
1.NAME1- Sales organization name
2.STRAS- Address
3.TELFX- Fax number
4.TELF1- phone number.
3.ZZSALORG is filled with the above information.
Modification ID:002 *
Date : 09-06-2006 *
Description : A new field zstceg added to the segment zzdochdr and it was populated *
by selecting stceg field from Kna1 table *
Modification ID:001 *
Date : 15-06-2006 *
Description : 1.New segment ZZE1EDP01 is created and attached to the parent segment E1EDP01
2.Data required to be sent are:
1.POSEX- Item number
2.UEBTO- Overdelivery tolerance
3.UNTTO- Underdelivery tolerance
3.ZZE1EDP01 is filled with the above information.
*-- Data Declaration--
*-- Constant Declaration--
CONSTANTS: c_1(1) TYPE c VALUE '1',
c_langu LIKE t005t-spras VALUE 'E',
c_parvw LIKE vbpa-parvw VALUE 'RG',
c_e1edk01(7) TYPE c VALUE 'E1EDK01',
c_e1edk02(7) TYPE c VALUE 'E1EDK02',
c_e1edk17(7) TYPE c VALUE 'E1EDK17',
c_e1edka1(7) TYPE c VALUE 'E1EDKA1',
c_e1edk14(7) TYPE c VALUE 'E1EDK14',
c_004(3) TYPE c VALUE '004',
c_001(3) TYPE c VALUE '001',
c_002(3) TYPE c VALUE '002',
c_re(2) TYPE c VALUE 'RE',
c_we(2) TYPE c VALUE 'WE',
c_ag(2) TYPE c VALUE 'AG',
c_0010(4) TYPE c VALUE '0010',
c_zzdochdr(8) TYPE c VALUE 'ZZDOCHDR',
c_ze1edk02(8) TYPE c VALUE 'ZE1EDK02',
c_zze1edk17(9) TYPE c VALUE 'ZZE1EDK17',
c_zze1edka1(9) TYPE c VALUE 'ZZE1EDKA1',
c_pe(2) TYPE c VALUE 'PE',
c_y(1) TYPE c VALUE 'Y',
c_zze1email(9) TYPE c VALUE 'ZZE1EMAIL',
c_zzsalorg(8) TYPE c VALUE 'ZZSALORG',
c_zze1edp01(9) TYPE c VALUE 'ZZE1EDP01',
c_e1edp01(7) TYPE c VALUE 'E1EDP01'.
*-- Variables Declaration--
DATA: lv_vbeln LIKE vbak-vbeln,
lv_country LIKE t005t-landx,
lv_text1 LIKE t042z-text1,
lv_vzskz LIKE knb1-vzskz,
lv_inco LIKE tinct-bezei,
lv_cadnr LIKE akkp-cadnr,
lv_pernr LIKE pa0105-pernr,
lv_parvw LIKE tpar-parvw,
lv_adrnr LIKE tvko-adrnr,
lv_zinso LIKE t056z-zinso,
Begin of Mod-002
lv_stceg TYPE stceg.
End of Mod-002
Begin of MOD-003
lv_min_tol TYPE KWMENG,
lv_max_tol TYPE KWMENG.
End Of MOD-003
TYPES:BEGIN OF t_vbfa,
vbelv LIKE vbfa-vbeln,
erdat TYPE erdat,
END OF t_vbfa.
DATA: i_akkp TYPE akkp.
*-- WorkArea Declaration--
DATA : wa_zdochdr TYPE zzdochdr,
wa_ze1edk02 TYPE zze1edk02,
wa_ze1edk17 TYPE zze1edk17,
wa_zze1email TYPE zze1email,
wa_zzsalorg TYPE zzsalorg,
wa_zze1edp01 TYPE zze1edp01,
wa_e1edk02 TYPE e1edk02,
wa_e1edk17 TYPE e1edk17,
wa_e1edka1 TYPE e1edka1,
wa_e1edk01 TYPE e1edk01,
wa_e1edp01 TYPE e1edp01,
wa_adrc TYPE adrc,
wa_pa0105 TYPE pa0105,
wa_zze1edka1 TYPE zze1edka1,
wa_zzdochdr TYPE zzdochdr,
wa_vbfa TYPE t_vbfa,
wa_vbpa TYPE vbpa.
*-- Move data to ZZDOCHDR Segment--
CASE int_edidd-segnam.
WHEN c_e1edk01.
MOVE int_edidd-sdata TO wa_e1edk01.
*--Begin of MOD001+(Modification ID 001)--
*-- Filling of ZZSALORG segment--
SELECT SINGLE adrnr
FROM tvko
INTO lv_adrnr
WHERE vkorg EQ dxvbak-vkorg.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM adrc
INTO wa_adrc
WHERE addrnumber EQ lv_adrnr.
wa_zzsalorg-salorg = dxvbak-vkorg.
wa_zzsalorg-name1 = wa_adrc-name1.
wa_zzsalorg-name2 = wa_adrc-name2.
wa_zzsalorg-stras = wa_adrc-street.
wa_zzsalorg-telf1 = wa_adrc-tel_number.
wa_zzsalorg-telfx = wa_adrc-fax_number.
wa_zzsalorg-land1 = wa_adrc-country.
wa_zzsalorg-strs2 = wa_adrc-str_suppl1.
wa_zzsalorg-street2 = wa_adrc-str_suppl2.
wa_zzsalorg-street3 = wa_adrc-str_suppl3.
wa_zzsalorg-ort01 = wa_adrc-city1.
wa_zzsalorg-pstlz = wa_adrc-post_code1.
wa_zzsalorg-regio = wa_adrc-region.
int_edidd-segnam = c_zzsalorg.
CLEAR int_edidd-sdata.
MOVE wa_zzsalorg TO int_edidd-sdata.
APPEND int_edidd.
CLEAR: wa_adrc,
wa_zzsalorg.
ENDIF.
*--End of MOD001+(Modification ID 001)--
SELECT SINGLE text1
FROM t042z
INTO lv_text1
WHERE land1 EQ dxvbpa-land1
AND zlsch EQ dxvbkd-zlsch.
READ TABLE dxvbpa INTO wa_vbpa WITH KEY vbeln = dxvbpa-vbeln
parvw = c_parvw.
IF sy-subrc EQ 0.
Begin of Mod-002
SELECT SINGLE stceg
FROM kna1
INTO lv_stceg
WHERE kunnr = wa_vbpa-kunnr.
End of Mod-002
SELECT SINGLE vzskz
FROM knb1
INTO lv_vzskz
WHERE kunnr EQ wa_vbpa-kunnr
AND bukrs EQ dxvbak-bukrs_vf.
IF sy-subrc EQ 0.
SELECT SINGLE zinso
FROM t056z
INTO lv_zinso
WHERE vzskz EQ lv_vzskz
AND waers EQ wa_e1edk01-curcy.
wa_zzdochdr-zdoctitle = dobject-objky.
wa_zzdochdr-zdate = dobject-erdat.
wa_zzdochdr-zmestyp = dobject-kschl.
wa_zzdochdr-zmedium = dobject-nacha.
wa_zzdochdr-zlang = dobject-spras.
wa_zzdochdr-zttype = dxvbkd-kdkg1.
wa_zzdochdr-zpaymethod = dxvbkd-zlsch.
wa_zzdochdr-zpaytext = lv_text1.
wa_zzdochdr-zintonpymt = lv_zinso.
Begin of Mod-002
wa_zzdochdr-zstceg = lv_stceg.
End of Mod-002
int_edidd-segnam = c_zzdochdr.
CLEAR int_edidd-sdata.
MOVE wa_zzdochdr TO int_edidd-sdata.
APPEND int_edidd.
CLEAR : wa_zzdochdr.
ENDIF.
ENDIF.
*-- Move data to ZZE1EDK02 Segment--
WHEN c_e1edk02.
MOVE int_edidd-sdata TO wa_e1edk02.
IF wa_e1edk02-qualf EQ c_004.
SELECT SINGLE vbelv FROM vbfa INTO wa_vbfa
WHERE vbeln EQ lv_vbeln
AND vbtyp_v EQ 'B'.
IF sy-subrc EQ 0.
SELECT SINGLE erdat FROM vbak INTO wa_vbfa
WHERE vbeln EQ wa_vbfa-vbelv.
int_edidd-segnam = c_ze1edk02.
CLEAR int_edidd-sdata.
MOVE wa_vbfa TO int_edidd-sdata.
APPEND int_edidd.
CLEAR wa_vbfa.
ENDIF.
ENDIF. " IF ended for "IF wa_e1edk02-qualf = '004'" condition.
**-- Move data to ZZE1EDK17 Segment--
WHEN c_e1edk17.
MOVE int_edidd-sdata TO wa_e1edk17.
IF NOT dxvbkd-lcnum IS INITIAL.
SELECT SINGLE inco1
inco2
FROM akkp
INTO i_akkp
WHERE lcnum EQ dxvbkd-lcnum.
IF sy-subrc EQ 0.
IF wa_e1edk17-qualf EQ c_001.
wa_ze1edk17-lkond = i_akkp-inco1.
wa_ze1edk17-qualf = wa_e1edk17-qualf.
SELECT SINGLE bezei
FROM tinct
INTO lv_inco
WHERE spras EQ 'E'
AND inco1 EQ i_akkp-inco1.
IF sy-subrc EQ 0.
wa_ze1edk17-lktext = lv_inco.
ENDIF.
ELSEIF wa_e1edk17-qualf EQ c_002.
wa_ze1edk17-qualf = wa_e1edk17-qualf.
wa_ze1edk17-lktext = i_akkp-inco2.
ELSE.
ENDIF.
int_edidd-segnam = c_zze1edk17.
CLEAR int_edidd-sdata.
MOVE wa_ze1edk17 TO int_edidd-sdata.
APPEND int_edidd.
CLEAR wa_ze1edk17.
ENDIF.
ENDIF. " IF ended for not initial condition.
*--Move data to zze1edka1 Segment--
WHEN c_e1edka1.
MOVE int_edidd-sdata TO wa_e1edka1.
*--Checking the wa_e1edka1-parvw field for 'RE'--
IF wa_e1edka1-parvw EQ c_re.
IF NOT dxvbkd-lcnum IS INITIAL.
SELECT SINGLE cadnr
FROM akkp
INTO lv_cadnr
WHERE lcnum EQ dxvbkd-lcnum.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM adrc
INTO wa_adrc
WHERE addrnumber EQ lv_cadnr.
wa_zze1edka1-parvw = wa_e1edka1-parvw.
wa_zze1edka1-partn = wa_e1edka1-partn.
wa_zze1edka1-land1 = wa_adrc-country.
wa_zze1edka1-name1 = wa_adrc-name1.
wa_zze1edka1-name2 = wa_adrc-name2.
wa_zze1edka1-stras = wa_adrc-street.
wa_zze1edka1-strs2 = wa_adrc-str_suppl1.
wa_zze1edka1-ort01 = wa_adrc-city1.
wa_zze1edka1-pstlz = wa_adrc-post_code1.
wa_zze1edka1-regio = wa_adrc-region.
int_edidd-segnam = c_zze1edka1.
CLEAR int_edidd-sdata.
MOVE wa_zze1edka1 TO int_edidd-sdata.
APPEND int_edidd.
CLEAR: wa_adrc,
wa_zze1edka1.
ENDIF.
ENDIF.
ENDIF. " IF ended for "IF wa_e1edka1-parvw EQ 'RE'" condition.
*--Checking the wa_e1edka1-parvw field for 'WE'--
IF wa_e1edka1-parvw EQ c_we.
IF NOT dxvbkd-lcnum IS INITIAL.
SELECT SINGLE cadnr
FROM akkp
INTO lv_cadnr
WHERE lcnum EQ dxvbkd-lcnum.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM adrc
INTO wa_adrc
WHERE addrnumber EQ lv_cadnr.
wa_zze1edka1-parvw = wa_e1edka1-parvw.
wa_zze1edka1-partn = wa_e1edka1-partn.
wa_zze1edka1-land1 = wa_adrc-country.
wa_zze1edka1-name1 = wa_adrc-name1.
wa_zze1edka1-name2 = wa_adrc-name2.
wa_zze1edka1-stras = wa_adrc-street.
wa_zze1edka1-strs2 = wa_adrc-str_suppl1.
wa_zze1edka1-ort01 = wa_adrc-city1.
wa_zze1edka1-pstlz = wa_adrc-post_code1.
wa_zze1edka1-regio = wa_adrc-region.
int_edidd-segnam = c_zze1edka1.
CLEAR int_edidd-sdata.
MOVE wa_zze1edka1 TO int_edidd-sdata.
APPEND int_edidd.
CLEAR: wa_adrc,
wa_zze1edka1.
ENDIF.
ENDIF.
ENDIF. " IF ended for "IF wa_e1edka1-parvw EQ 'WE'" condition.
*--Checking the wa_e1edka1-parvw field for 'AG'--
IF wa_e1edka1-parvw EQ c_ag.
IF NOT dxvbkd-lcnum IS INITIAL.
SELECT SINGLE cadnr
FROM akkp
INTO lv_cadnr
WHERE lcnum EQ dxvbkd-lcnum.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM adrc
INTO wa_adrc
WHERE addrnumber EQ lv_cadnr.
wa_zze1edka1-parvw = wa_e1edka1-parvw.
wa_zze1edka1-partn = wa_e1edka1-partn.
wa_zze1edka1-land1 = wa_adrc-country.
wa_zze1edka1-name1 = wa_adrc-name1.
wa_zze1edka1-name2 = wa_adrc-name2.
wa_zze1edka1-stras = wa_adrc-street.
wa_zze1edka1-strs2 = wa_adrc-str_suppl1.
wa_zze1edka1-ort01 = wa_adrc-city1.
wa_zze1edka1-pstlz = wa_adrc-post_code1.
wa_zze1edka1-regio = wa_adrc-region.
int_edidd-segnam = c_zze1edka1.
CLEAR int_edidd-sdata.
MOVE wa_zze1edka1 TO int_edidd-sdata.
APPEND int_edidd.
CLEAR: wa_adrc,
wa_zze1edka1.
ENDIF.
ENDIF. " IF ended for "IF NOT dxvbkd-lcnum IS INITIAL" condition.
ENDIF. " IF ended for "IF wa_e1edka1-parvw EQ c_ag" condition.
*--Checking the wa_e1edka1-parvw field for 'Y'--
IF wa_e1edka1-parvw+0(1) EQ c_y.
SELECT SINGLE parvw
FROM tpar
INTO lv_parvw
WHERE parvw EQ wa_e1edka1-parvw
AND nrart EQ c_pe.
IF sy-subrc EQ 0.
SELECT SINGLE pernr
FROM vbpa
INTO lv_pernr
WHERE vbeln EQ dxvbpa-vbeln
AND parvw EQ lv_parvw.
IF sy-subrc EQ 0.
SELECT SINGLE usrid_long
FROM pa0105
INTO wa_pa0105-usrid_long
WHERE pernr EQ lv_pernr
AND usrty EQ c_0010. " communication type email
wa_zze1email-zparvw = wa_e1edka1-parvw.
wa_zze1email-zname = wa_e1edka1-name1.
wa_zze1email-zemail = wa_pa0105-usrid_long.
int_edidd-segnam = c_zze1email.
CLEAR int_edidd-sdata.
MOVE wa_zze1email TO int_edidd-sdata.
APPEND int_edidd.
CLEAR: wa_adrc,
wa_zze1email,
wa_pa0105.
ENDIF.
ENDIF.
ENDIF. " IF ended for "IF wa_e1edka1-parvw EQ 'Y'" condition.
*--Begin of MOD003 (Modification ID 003)--
*-- Move data to ZZE1EDP01 Segment--
WHEN c_e1edp01.
MOVE int_edidd-sdata TO wa_e1edp01.
wa_zze1edp01-posex = wa_e1edp01-posex.
wa_zze1edp01-uebto = dxvbap-kwmeng + ( dxvbap-kwmeng * dxvbap-uebto / 100 ).
wa_zze1edp01-untto = dxvbap-kwmeng - ( dxvbap-kwmeng * dxvbap-untto / 100 ).
wa_zze1edp01-uebto = dxvbap-uebto.
wa_zze1edp01-untto = dxvbap-untto.
int_edidd-segnam = c_zze1edp01.
CLEAR int_edidd-sdata.
MOVE wa_zze1edp01 TO int_edidd-sdata.
APPEND int_edidd.
CLEAR: wa_zze1edp01.
*--End of MOD003 (Modification ID 003)--
WHEN OTHERS.
ENDCASE.
Regards,
Nagaraj -
How to change crystal report data field at runtime ?
Hello everyone,
I have a Crystal Report file ,which i am using to generate report for my windows form project .
In that report i have a filed called as Quantity which data type is set as decimal, the requirement is like that the number of value those comes after decimal point that should be set according to the value which is given by the user at the run time .
For eg: If user gives 1 at the run time then the report Qty field value set one value after decimal point. Like 12.1
if user gives 2 then Qty field the value is 12.22 like tat but user can give from zero to any number.. and if it is zero it should not show decimal
Note: The main idea hear is how to change the filed in Crystal Report decimal point value by using code(or we say writing code we need to set manually as user input it will change)
Can any body help me how to solve this issue .
S.K NayakI think you could probably make the field you see a formula field and take a parameter as the number of decimal places.
totext converts a number to a string.
totext({decimalField}, 2)
That's 2 decimal places.
You could probably substitute a {parameter} for that 2.
If not then you could substitute an entire formula.
To explore formulas:
foreach (FormulaFieldDefinition f in rpt.DataDefinition.FormulaFields)
MessageBox.Show(f.Name);
// f.Text = your new formula
Where rpt is an instantiated report.
Or add another string field which you display in the column and do the calculation with the original decimal.
Hope that helps.
Recent Technet articles:
Property List Editing;
Dynamic XAML -
How to change the capitalization date
Hi ,
I carried out WBS to AUC settlement on 31.12.2009, due to which AUC cap. date becomes 31.12.2009. Now i want to change the cap date to 01.12.2009. How do i do it? Reversing the settlement using CJ88 can only change the first Acq date but not the cap date. Also cap date is not an editable option in AS02.
Reason for all this is that i want the cap date of fixed asset to be 01.12.2009.
Regards,
DPHi Srinu,
Thanks for your reply. Are there any implications of changing the cap date manually? Is it an advisable option or is it better to keep asset value date as 31.12.2009 and then post an unplanned dep for the asset.
Regards,
DP -
How to Read Idoc - Segment fields values and status messages
Hi,
I am having one requirement as i want to read the segments along with the field values and also i want to read all the status messages.
first i read the idoc data from EDIDS and segments data from EDID4 and the staus messges from T100. but still i am not getting all the status messages.
is there any other table which contains the information of IDOC segments and field values and also the status messages.
Regards,
KumarYou need to use
V_MSGNO = EDIDS-STAMNO.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
MSG_ID = EDIDS-STAMID
MSG_NO = V_MSGNO
MSG_VAR1 = EDIDS-STAPA1
MSG_VAR2 = EDIDS-STAPA2
MSG_VAR3 = EDIDS-STAPA3
MSG_VAR4 = EDIDS-STAPA4
IMPORTING
MSG_TEXT = V_TEXT.
WRITE: / V_TEXT.
a® -
How to map idoc segment field E1IDB02-FIIKONTO with BSEG-ESRNR.
Hi,
I have searched for lot of threads in the forum , and also i tried myself but i am not able to map this fields segment with my logic, so please anyone kindly contribute in mapping idoc segment field with the logic given below:
idoc type :PAYEXT outbound idoc.
message type: PEXR2002
This is my logic: i need to populate the ISR number(BSEG-ESRNR ) in idoc segment field( E1IDB02-FIIKONTO)
DATA : str1 TYPE string,
len1 TYPE i,
len2 TYPE i,
str2 TYPE string,
str3 TYPE string.
str1 = '01-1234-4'. ---> BSEG-ESRNR "ISR Subscriber Number
REPLACE FIRST OCCURRENCE OF '-' IN str1 WITH '_'.
REPLACE ALL OCCURRENCES OF '-' IN str1 WITH space.
CONDENSE str1.
len1 = STRLEN( str1 ).
IF len1 LT '9'.
len2 = '9' - len1.
CASE len2.
WHEN '1'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '00'.
WHEN '2'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '000'.
WHEN '3'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '0000'.
WHEN '4'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '000000'.
WHEN OTHERS.
ENDCASE.
ELSEIF len1 EQ '9'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH '0'.
ELSEIF len1 GT '9'.
REPLACE ALL OCCURRENCES OF '_' IN str1 WITH space.
CONDENSE str1.
ENDIF.
Thanks in Advance.Resolved.
-
How can change the created date on a photo?
Hi
I have imported photos that were originally taken in summer 2002 (and where dated as such), now they have been imported to iPhoto, the created and modified dated have changed to the date I imported them (14th Sept 06), therefore they are now sitting in the wrong years folders.
How can I move this pictures back to the correct folder i.e 2002/ I have tried amended the date in 'get info' however the date can't be changed.
thanks
mini mac Mac OS X (10.4.7)I haven't tried moving photos among the 'years' folders, but you can alter a photo's date in the 'info' box that pops up at the lower left when you click on the "i" button down there. You can also change the date of an existing folder by the same means -- that will change the sort-order of the library.
Maybe you are looking for
-
Error while attaching document in cv01n
Hi, We are attaching document in transaction cv01n,at the time of saving it gives error massege change is not allowed,but still system is saving saving that documet.can anybody suggest solution to avoid error massege. Thanks, Vikas warke
-
Safari crashing when downloading after upgrading to 10.7.2
I upgraded to 10.7.2 today and now Safari crashes every time I try to download anything (worked fine before then). Would really appreciate any help or information Crash report... Process: Safari [596] Path: /Users/USER/Desktop/*/Sa
-
Can someone please explain to me the following error? Designtime cache has not been initialized Please look in logs for following signs of failure. Fix them and restart. (a) Database access errors (b) ESB Bootstrap errors (c) OC4J class load errors (
-
Cover Flow - can it have a black background?
I've just bought a 3rd generation Nano (product RED version) and I'm really pleased with it. I do have one question though - can Cover Flow on the Nano have a black background? I'm sure I've seen the 3rd gen Nano working with a black Cover Flow backg
-
A query to create sales information for a specific date.
Hi, Please look at attached image, you will see how this query look like. This query will generate all sales from 1/1/2014 until today. I would like to see if the query can create the sales report for a range from 1/1/2014 until yesterday (does not i