IDOC creation from flat file.
Hello Friends.
I need to create a custom program for posting goods receipts for a purchase order.
I think a custom program needed to achieve this task because i need to do mappings prior to create an IDOC. Now using a flat file what are the function modules or steps involved. can any one of you able to help me on this.
Thanks
Sorry, I'm trying to remember the name of the function module I used....I had a similar situation...I had a flat file which I processed and constructed an IDOC which I then saved as an incoming IDOC using the FM.... Because we had our settings (standard SAP process code, standard SAP FM IDOC processor, etc.) set to automatically fire off the IDOC processing, the result was that I read the file, saved the IDOC and SAP then immediately grabbed and posted the IDOC. I will do a little search for the FM I used to create the IDOC in my own system and get back to you if you think that would be helpful. Sorry for my memory lapse....
Similar Messages
-
Hi,
I have two queries.
1.I need to import idoc structure from excel file not from sap, is it possible ?
2 what are the detalied steps to implement following SAP note for getting processed file name at runtime.
Thanks & Regards
Tuhin
Symptom
You want to access the name of a file sent through a File Adapter Sender channel from a custom developed XI module.
Other terms
XI 3.0, XI30, File Adapter, Module Processor, Module Development, Modules
Reason and Prerequisites
The functionality described in this note requires SP 9 or higher of the component XI ADAPTER FRAMEWORK CORE 3.0.
Solution
The File Adapter passes the name of the processed file to the module processor. This information is available in a Hashtable object accessible as as supplemental module data under the name "module.parameters" within the module's 'process' method.
For further information, please take a look at the example code below:
public ModuleData process(ModuleContext mc, ModuleData md) throws
ModuleException
Hashtable mp = (Hashtable)
md.getSupplementalData("module.parameters");
String fileName = null;
if (mp != null)
fileName = (String) mp.get("FileName");Hi Tuhin,
<i>
1. .I need to import idoc structure from excel file not from sap, is it possible ?</i>
Yes and No; If the structure in the Excel sheet is defined in XSD format (XML schema) then it should be possible to import it assuming you are using XI 3.0. In 2.0 this is not possible.
Not sure if in XI 3.0 you are allowed to import Excel files straight forward into XI.
<i>2 what are the detalied steps to implement following SAP note for getting processed file name at runtime.</i>
I'm not quite sure but this looks to me like you have to implement this within a Java custom function/mapping...
The data (in this case the filename) is encapsulated in a Hashtable object available during runtime.
Cheers,
Rob. -
Orders creation from flat file
experts
I am having a flat file like below
hd ponumber customer number podate delivery date
it material1 materialtext quantity price plant
it material2 materialtext quantity price plant
it material3 materialtext quantity price plant
hd ponumber customer number podate delivery date
it material1 materialtext quantity price plant
it material2 materialtext quantity price plant
it material3 materialtext quantity price plant
so here hd represents the header data and it represents the item data for the above header.
so in above i am having 2 sales orders data.
the only way that i can distinquish is with the field hd and it ie what is header and what is item.
I want to pass only one set of data to the idoc function to create the order.
so i want to pass the header and relevant item info.
my itab internal table is having all the data in the above format.
loop at itab into waitab.
*at end of field1 " is not working
here i will be populating the header and item data to create one sales order.
endloop.
so please tell me how to pass at a time one set of data ie header data and relevant item data then next time again header and relevant item data. please help
this is similar to below theread, but belwo theread is using po number but here i dont have that sepearation
order creation logic how to pass line itemshd ponumber customer number podate delivery date
it material1 materialtext quantity price plant
it material2 materialtext quantity price plant
it material3 materialtext quantity price plant
hd ponumber customer number podate delivery date
it material1 materialtext quantity price plant
it material2 materialtext quantity price plant
it material3 materialtext quantity price plant
Hi,
Can u try thsi logic.
DATA : L_CNT TYPE I VALUE 1,
ITAB_TEMP AS SAME STARUCTRE OF ITAB.
LOOP AT ITAB INTO WA_ITAB FROM INDEX 1.
IF WA_ITAB+0(2) EQ 'HD'.
L_CNT = L_CNT +1
ENDIF.
IF L_CNT EQ 2
hd ponumber customer number podate delivery date
it material1 materialtext quantity price plant
it material2 materialtext quantity price plant
it material3 materialtext quantity price plant
APPEND THIS DATA TO TEMP TABLE.
ELSEIF L_CNT EQ 3
WE WONT APPEND DATA TO TEMP TABLE.
PROCESS TEMP DATA TO IDOCS.
DELETE ITAB FROM TEMP ITAB . " SO IN ORIGINAL ITAB WE WONT HAVE FIRST ORDER ITEM DETAILS.
REFREST TEMPITAB.
ENDLOOP.
ENDIF.
if u have any further issues u can try while looping itab use sy-tabix appropriately.
Regards,
BSVASU. -
Data Source creation for Master Data from Flat File to BW
Hi,
I need to upload Master Data from Flat File. Can anybody tell step by step right from begining of creation of DataSource up to Loading into Master Data InfoObject.
can any body have Document.
Regards,
Chakri.Hi,
This is the procedure.
1. Create m-data with or without attributes.
2. Create infosource .
a) with flexible update
or
b) with direct update
3. Create transfer rules and assign tyhe names of m-data and attribute in "Transfer rules" tab and transfer them to communication structure.
4. Create the flat-file with same stucture as communication structure.
5. if chosen direct update then create infopackage and assign the name of flat-file and schedule it.
6. if chosen flexible update the create update rule with assigning name of the infosource and the schedule it by creating infopackage.
Hope this helps. If still have prob then let me know.
Follow this link also.
http://help.sap.com/saphelp_nw2004s/helpdata/en/b2/e50138fede083de10000009b38f8cf/frameset.htm
Assign points if helpful.
Vinod. -
Cube creation & Data loading from Flat file
Hi All,
I am new to BI 7. Trying to create a cube and load data from a flat file.
Successfully created the infosource and Cube (used infosource as a template for cube)
But got stucked at that point.
I need help on how to create transfer rules/update rules and then load data into it.
Thanks,
Praveen.Hi
right click on infosource->additional functions->create transfer rules.
now in the window insert the fields you want to load from flat file->activate it.
now right click on the cube->additional functions->create update rules->activate it.
click on the small arrow on the left and when you reach the last node(DS)
right click on it->create info package->extenal data tab->give your FLAT file path and select csv format->schedule tab->click on start.
hope it helps..
cheers. -
How to upload schedule line from flat files to sap file
dear all,
i want to upload the schedule lines from flat files to sap schedulle lines
but the flat files have 15 schedule lines and the data is as per date
so how to upload that and the fields available in flat files are more than the sap screen
we are having more than 6 items
and 15scedule lines its abt 90data to be upload
for one customer in every 15 day
so how to do this
is there any direct use in functional side
with out the help of any abap
but my user will do it
so he need a permanent solution
with regards
subratHi Subrat ,
u can upload the data either ( Master /Transaction) data with the help of lsmw. for that all u need to do is go through the lsmw and do it. in that u can go Batch input recording/ BAPI/ IDOC any of that. here i am sending the LSMW Notes go through it and do the work.
once u create the LSMW project then u can ask the data from user or u can explain the user about the program and can run the flat file to upload the data.
if u require LSMW material Just send me blank mail from u. my mail id is [email protected]
Reward if Helpful.
Regards,
Praveen Kumar.D -
Upload PO data into SRM system from flat file
Hi all,
I need to create conversion program to upload Open Purchase order data from flat file to System.
I am trying to create po using bapi BAPI_POEC_CREATE. but getting error .
should any one give the details of parameter need to pass the bapi .
Thanks in advance
SharadSharad,
Not the very best piece of code, but should be helpful.
REPORT zkb_po_create.
DATA: ls_po_header TYPE bapi_po_header_c.
DATA: ls_e_po_header TYPE bapi_po_header_d.
DATA: ls_po_items TYPE bapi_po_item_c.
DATA: ls_po_accass TYPE bapi_acc_c.
DATA: ls_po_partner TYPE bapi_bup_c.
DATA: ls_po_orgdata TYPE bapi_org_c.
DATA: ls_return TYPE bapiret2.
DATA: lt_po_items TYPE TABLE OF bapi_po_item_c.
DATA: lt_po_accass TYPE TABLE OF bapi_acc_c.
DATA: lt_po_partner TYPE TABLE OF bapi_bup_c.
DATA: lt_po_orgdata TYPE TABLE OF bapi_org_c.
DATA: lt_return TYPE TABLE OF bapiret2.
* Header Details
ls_po_header-businessprocess = 1.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_po_header-businessprocess
IMPORTING
output = ls_po_header-businessprocess.
ls_po_header-process_type = 'EC'.
ls_po_header-doc_date = sy-datum.
ls_po_header-description = 'Test for BAPI_POEC_CREATE'.
ls_po_header-logsys_fi = 'Backend'.
ls_po_header-co_code = '1000'.
ls_po_header-currency = 'GBP'.
* Item Details
ls_po_items-item_guid = 2.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_po_items-item_guid
IMPORTING
output = ls_po_items-item_guid.
ls_po_items-parent = ls_po_header-businessprocess.
ls_po_items-product_guid = '4678E74FFFC380AD000000000A8E035B'.
ls_po_items-product_id = '400030'.
ls_po_items-product_type = '01'.
ls_po_items-category_guid = '4627B461073F40FC000000000A8E035B'.
ls_po_items-category_id = '1.04.0500'.
ls_po_items-quantity = 10.
ls_po_items-deliv_date = sy-datum + 10.
ls_po_items-price = '25'.
APPEND ls_po_items TO lt_po_items.
* Account Assignment
ls_po_accass-guid = 3.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = ls_po_accass-guid
IMPORTING
output = ls_po_accass-guid.
ls_po_accass-parent_guid = ls_po_items-item_guid.
ls_po_accass-distr_perc = 100.
ls_po_accass-g_l_acct = '<gl acc>'.
ls_po_accass-cost_ctr = '<cost centre>'.
ls_po_accass-co_area = '<Ctrl area>'.
APPEND ls_po_accass TO lt_po_accass.
* Partner Functions
ls_po_partner-partner_fct = '00000019'.
ls_po_partner-partner = 'Vendor'.
ls_po_partner-parent_guid = ls_po_items-item_guid.
APPEND ls_po_partner TO lt_po_partner.
ls_po_partner-partner_fct = '00000016'.
ls_po_partner-partner = 'Requester'.
ls_po_partner-parent_guid = ls_po_items-item_guid.
APPEND ls_po_partner TO lt_po_partner.
ls_po_partner-partner_fct = '00000020'.
ls_po_partner-partner = 'Receipient'.
ls_po_partner-parent_guid = ls_po_items-item_guid.
APPEND ls_po_partner TO lt_po_partner.
ls_po_partner-partner_fct = '00000075'.
ls_po_partner-partner = 'Location'.
ls_po_partner-parent_guid = ls_po_items-item_guid.
APPEND ls_po_partner TO lt_po_partner.
ls_po_orgdata-proc_org_ot = 'O'.
ls_po_orgdata-proc_org_id = 'Pur Org'.
ls_po_orgdata-proc_group_ot = 'O'.
ls_po_orgdata-proc_group_id = 'Pur Group'.
ls_po_orgdata-parent_guid = ls_po_items-item_guid.
APPEND ls_po_orgdata TO lt_po_orgdata.
CALL FUNCTION 'BAPI_POEC_CREATE'
EXPORTING
i_po_header = ls_po_header
IMPORTING
e_po_header = ls_e_po_header
TABLES
i_po_items = lt_po_items
i_po_accass = lt_po_accass
i_po_partner = lt_po_partner
i_po_orgdata = lt_po_orgdata
return = lt_return.
READ TABLE lt_return INTO ls_return WITH KEY type = 'E'.
IF sy-subrc NE 0.
COMMIT WORK AND WAIT.
WRITE:/ ls_e_po_header-doc_number, ': created successfully'.
ELSE.
WRITE:/ 'The below errors occurs during PO creation.'.
LOOP AT lt_return INTO ls_return.
WRITE:/ ls_return-message.
ENDLOOP.
ENDIF.
Regards, Kathirvel -
IDoc as a flat file...
I want to read a flat file that is an IDoc and post it as a XML after necessary conversion...So i wanted to know what are the feasible ways to read the flat file thats an IDoc?
Your flat file is of fixed lenght format or tab delimited I believe. Get the flat file data into an internal table. Study the IDOC structure in transaction WE30. & according populate the idoc segemnts from the internal table value..
For ABAP to XML conversion..Create XSLT & the extraction program..
Create XSLT:
In transaction SE80 browse menu Workbench -> Edit Object. In the popup window enter XSLT Program name (e.g. ZXSLT) and click on create button.
Enter the following code into the editor..
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<!xsl:output encoding="utf-8" indent="yes"/>
<xsl:template match="D2CXML">
<PurchaseOrders>
<xsl:apply-templates/>
</PurchaseOrders>
</xsl:template>
<xsl:template match="item">
<PONO>
<xsl:attribute name="no">
<xsl:value-of select="EBELN"/>
</xsl:attribute>
<PORDNO>
<xsl:apply-templates select="EBELN"/>
</PORDNO>
<Vendor>
<xsl:apply-templates select="LIFNR"/>
</Vendor>
<PurchaseOrg>
<xsl:apply-templates select="EKORG"/>
</PurchaseOrg>
<PurchaseGrp>
<xsl:apply-templates select="EKGRP"/>
</PurchaseGrp>
<xsl:apply-templates select="X-MLSTRUCT"/>
</PONO>
</xsl:template>
<xsl:template match="X-MLSTRUCT">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="X-MLSTRUCT/item">
<Product>
<ItemNo>
<xsl:apply-templates select="EBELP"/>
</ItemNo>
<Material>
<xsl:apply-templates select="MATNR"/> -
How to upload the BP master details in huge amount from flat file to CRM database
Hi,
Could you any body please help me initially the best method to upload Business partner data from flat file and if possible with any sample code available?
Basically I am an ABAP consultant. In ERP I used to do BDC or lsmw in generally?
This is a mission critical thing for me.Hi Chitturi,
I did not come across the scenario for custom include fields from BAPI of partner creation. But if the fields are not appearing in the import/tables structure fields then you probably need to update the corresponding DB Table for those fields separately,else BAPI will update the same. You will get partner guid and partner number from export parameters of the BAPI.
Regards,
Dipesh
Message was edited by: Joaquin Fornas -
What are the advantages of idoc compare to flat file. how data is secure
what are the advantages of idoc compare to flat file. how data is secure in idocs compare to flat file
Hi Ramana,
In simple words, Main advantage with idoc over flat file is security....
I will explain you some scenario here U got a flat file with all the data...Now u r having the flat file if you want u can modify the data in it, or somehow any one can modify the data in it if they were able to access this file. That means u maintained the file in the presentation server
One level of higher security to the above level is maintaining the flat file in application server, at point also even though lot of people r not having the access to that file, super user who is having the access may modify the data or delete the data from it rite....
so in both of those levels u don't have 100% security...
So there come to the picture of idocs, Idocs simply data carriers, those r generated by a program but not manually...data will be divided into number of segments based upon ur program. So manually its not so easy to modify the data in these idocs. If any changes to be made in the data then u have to modify the data in the application and then u have to update the idoc or you have to generate the new idoc with that corresponding data. so in this case not even super user can manipulate the data directly in the idoc....
I think u got my point what I mean to say.....
If you find it useful mark the points
~~Guduri -
MBGMCR02 inbound posting from Flat file
hello Friends ,
i am posting MBMCR02 Inbound idoc for oil materils .
it is giving an error status 51 "Material does not exists or not active "
i am trying to post in WE 19 and through my program also .
it is an inbound idoc program processed from flat file .
i am trying to post the goods receipts against PO.
can any one suggest any solution.
thanks
Anant1. Read the file using OPEN DATASET and read and fill up the segment info and fill the EDIDC header data
and then call function
CALL FUNCTION 'INBOUND_IDOC_PROCESS'
TABLES
IDOC_CONTROL = i_edidc
IDOC_DATA = i_edid4.
a® -
Data loading from flat file into bw
Hi Experts,
When we load data from flat file into BW the <b>sequence of fields in flat file</b> should be matched with the <b>transfer structure</b> or <b>communication structure</b>?
wid thanX,
arijitArijit,
The sequence of fields in a flat file must be the same as this one in the transfer structure.
The comm and tran structures are the same after the first creation of datasource from flat file source system. After that someone could change the sequence in the CS -- if the mapping of fields in transfer rules remains unchanged, then the load is to be succesful.
In case of changing the sequence in TS you'll get either error or wrong load (values to be loaded into some infobjects will go to another ones.)
Best regards,
Eugene -
Create inbound invoice from flat file
Hi Folks,
for periodic creation of PO invoice from flat file, what would be the best way to go?
Thanks and Rg. Jimbob1. Read the file using OPEN DATASET and read and fill up the segment info and fill the EDIDC header data
and then call function
CALL FUNCTION 'INBOUND_IDOC_PROCESS'
TABLES
IDOC_CONTROL = i_edidc
IDOC_DATA = i_edid4.
a® -
Short dump while reading a currency field from Flat file into internal tabl
Hi,
I am getting a short dump........saying number conversion dump (while reading a currency value into field in internal table from a fixed lenght flat file).........
Do I need to use a string variable to get the value from flat file or how ??
Please suggest.Santosh,
Thanks for your inputs,
But my internal table type is of DEC (5,2) , I am getting that... it needs to be of type 'C'. Can you suggest.
Ex :
MOVE wa_temp-infile_string+106(8) TO wa_item-QT_PERCENT
This didnt work
so i tried moving into a seperate variable
MOVE wa_temp-infile_string+106(8) TO v_percent.
and then write to
WRITE v_percent to wa_item-QT_PERCENT. -
Error while loading table from flat file (.csv)
I have a flat file which i am loading into a Target Table in Oracle Warehouse Builder. It uses SQL Loader Internally to load the data from flat file, I am facing an issue. Please find the following error ( This is an extract from the error log generated)
SQL*Loader-500: Unable to open file (D:\MY CURRENT PROJECTS\GEIP-IHSS-Santa Clara\CDI-OWB\Source_Systems\Acquisition.csv)
SQL*Loader-552: insufficient privilege to open file
SQL*Loader-509: System error: The data is invalid.
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
I believe that this is related to SQL * Loader error.
ACtually the flat file resides in my system ( D:\MY CURRENT PROJECTS\GEIP-IHSS-Santa Clara\CDI-OWB\Source_Systems\Acquisition.csv). I am connecting to a oracle server.
Please suggest
Is it required that i need to place the flat file in Oracle Server System ??
Regards,
Ashoka BLHi
I am getting an error as well which is similar to that described above except that I get
SQL*Loader-500: Unable to open file (/u21/oracle/owb_staging/WHITEST/source_depot/Durham_Inventory_Labels.csv)
SQL*Loader-553: file not found
SQL*Loader-509: System error: The system cannot find the file specified.
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
The difference is that Ashoka was getting
SQL*Loader-552: insufficient privilege to open file
and I get
SQL*Loader-553: file not found
The initial thought is that the file does not exist in the directory specified or I have spelt the filename incorrectly it but this has been checked and double checked. The unix directory also has permission to read and write.
Also in the error message is
Control File: C:\u21\oracle\owb_staging\WHITEST\source_depot\INV_LOAD_LABEL_INVENTORY.ctl
Character Set WE8MSWIN1252 specified for all input.
Data File: /u21/oracle/owb_staging/WHITEST/source_depot/Durham_Inventory_Labels.csv
Bad File: C:\u21\oracle\owb_staging\WHITEST\source_depot\Durham_Inventory_Labels.bad
As can be seen from the above it seems to be trying to create the ctl and bad file on my c drive instead of on the server in the same directory as the .csv file. The location is registered to the server directory /u21/oracle/owb_staging/WHITEST/source_depot
I am at a lost as this works fine in development and I have just promoted all the development work to a systest environment using OMBPlus.
The directory structure in development is the same as systest except that the data file is /u21/oracle/owb_staging/WHITED/source_depot/Durham_Inventory_Labels.csv and everything works fine - .ctl and .bad created in the same directory and the data sucessfully loads into a oracle table.
Have I missed a setting in OWB during the promotion to systest or is there something wrong in the way the repository in the systest database is setup?
The systest and development databases are on the same box.
Any help would be much appreciated
Thanks
Edwin
Maybe you are looking for
-
I have just bought a 5D Mark III and have a questions on sports settings.
I am shooting at my sons rugby game and sports day in the coming weeks and would like to make sure my camera is set up correctly. I am using a 70-200 mm lens 2.8 with 2x converter, ( so goes to 5.6 when using). - I am shooting Al Servo - evaluative
-
My home was recently burgarlized and one of my Ipads were stolen.(Thank God my daughter had hers at school). However, I went online to report my Ipad lost thru apple but now My daughter is unable to Log into the apple account and/or use her Ipad due
-
What Is D Block ? What is country Lock & how to open it?
What Is D Block ? What is country Lock & how to open it? Message was edited by: Rupnay
-
Acrobat wouldn't start, so I uninstalled it. Then I discovered the cause from this site, so I restored my system. Although Acrobat reappeared, it posted a couple of error messages, one relating to missing cab files, the other saying "Error 1" and "Pl
-
How to use my Garageband amps?
I'm using an Alesis product to plug my guitar into my Macbook Pro in Garageband and use the 12 amplifiers that it comes with. I plugged one end of my Alesis into the guitar and the other end into the Mac's USB port, as instructed, and the light on th