Batch data comm.

Hi,
    can anybody plz drop me a piece of code for running BDC for the transactions 'ME21' & 'ME51' transaction, in which BDC trable control will be occuring.
Your help is verymuch required for these two BDC table control code.
Thanks in advance...
Thanks & Regards
Sangram

Hi Sangram,
here is a sample BDC code for ME21
if needed add/delete the fields
REPORT zmm_bdcp_purchaseorderkb02
NO STANDARD PAGE HEADING LINE-SIZE 255.
Declaring internal tables *
*-----Declaring line structure
DATA : BEGIN OF it_dummy OCCURS 0,
dummy(255) TYPE c,
END OF it_dummy.
*-----Internal table for line items
DATA : BEGIN OF it_idata OCCURS 0,
ematn(18), "Material Number.
menge(13), "Qyantity.
netpr(11), "Net Price.
werks(4), "Plant.
ebelp(5), "Item Number.
END OF it_idata.
*-----Deep structure for header data and line items
DATA : BEGIN OF it_me21 OCCURS 0,
lifnr(10), "Vendor A/c No.
bsart(4), "A/c Type.
bedat(8), "Date of creation of PO.
ekorg(4), "Purchasing Organisation.
ekgrp(3), "Purchasing Group.
x_data LIKE TABLE OF it_idata,
END OF it_me21.
DATA : x_idata LIKE LINE OF it_idata.
DATA : v_delimit VALUE ','.
DATA : v_indx(3) TYPE n.
DATA : v_fnam(30) TYPE c.
DATA : v_count TYPE n.
DATA : v_ne TYPE i.
DATA : v_ns TYPE i.
*include bdcrecx1.
INCLUDE zmm_incl_purchaseorderkb01.
Search help for file *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
IMPORTING
file_name = p_file.
START-OF-SELECTION.
To upload the data into line structure *
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file
filetype = 'DAT'
TABLES
data_tab = it_dummy.
Processing the data from line structure to internal tables *
REFRESH:it_me21.
CLEAR :it_me21.
LOOP AT it_dummy.
IF it_dummy-dummy+0(01) = 'H'.
v_indx = v_indx + 1.
CLEAR it_idata.
REFRESH it_idata.
CLEAR it_me21-x_data.
REFRESH it_me21-x_data.
SHIFT it_dummy.
SPLIT it_dummy AT v_delimit INTO it_me21-lifnr
it_me21-bsart
it_me21-bedat
it_me21-ekorg
it_me21-ekgrp.
APPEND it_me21.
ELSEIF it_dummy-dummy+0(01) = 'L'.
SHIFT it_dummy.
SPLIT it_dummy AT v_delimit INTO it_idata-ematn
it_idata-menge
it_idata-netpr
it_idata-werks
it_idata-ebelp.
APPEND it_idata TO it_me21-x_data.
MODIFY it_me21 INDEX v_indx.
ENDIF.
ENDLOOP.
To open the group *
PERFORM open_group.
To populate the bdcdata table for header data *
LOOP AT it_me21.
v_count = v_count + 1.
REFRESH it_bdcdata.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0100',
' ' 'BDC_CURSOR' 'EKKO-LIFNR',
' ' 'BDC_OKCODE' '/00',
' ' 'EKKO-LIFNR' it_me21-lifnr,
' ' 'RM06E-BSART' it_me21-bsart,
' ' 'RM06E-BEDAT' it_me21-bedat,
' ' 'EKKO-EKORG' it_me21-ekorg,
' ' 'EKKO-EKGRP' it_me21-ekgrp,
' ' 'RM06E-LPEIN' 'T'.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '/00'.
MOVE 1 TO v_indx.
*-----To populate the bdcdata table for line item data
LOOP AT it_me21-x_data INTO x_idata.
CONCATENATE 'EKPO-EMATN(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-ematn.
CONCATENATE 'EKPO-MENGE(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-menge.
CONCATENATE 'EKPO-NETPR(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-netpr.
CONCATENATE 'EKPO-WERKS(' v_indx ')' INTO v_fnam.
PERFORM subr_bdc_table USING ' ' v_fnam x_idata-werks.
v_indx = v_indx + 1.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '/00'.
ENDLOOP.
PERFORM subr_bdc_table USING: 'X' 'SAPMM06E' '0120',
' ' 'BDC_CURSOR' 'RM06E-EBELP',
' ' 'BDC_OKCODE' '=BU'.
PERFORM bdc_transaction USING 'ME21'.
ENDLOOP.
PERFORM close_group.
End of selection event *
END-OF-SELECTION.
IF session NE 'X'.
*-----To display the successful records
WRITE :/10 text-001. "Sucess records
WRITE :/10 SY-ULINE(20).
SKIP.
IF it_sucess IS INITIAL.
WRITE :/ text-002.
ELSE.
WRITE :/ text-008, "Total number of Succesful records
35 v_ns.
SKIP.
WRITE:/ text-003, "Vendor Number
17 text-004, "Record number
30 text-005. "Message
ENDIF.
LOOP AT it_sucess.
WRITE:/4 it_sucess-lifnr,
17 it_sucess-tabix CENTERED,
30 it_sucess-sucess_rec.
ENDLOOP.
SKIP.
*-----To display the erroneous records
WRITE:/10 text-006. "Error Records
WRITE:/10 SY-ULINE(17).
SKIP.
IF it_error IS INITIAL.
WRITE:/ text-007. "No error records
ELSE.
WRITE:/ text-009, "Total number of erroneous records
35 v_ne.
SKIP.
WRITE:/ text-003, "Vendor Number
17 text-004, "Record number
30 text-005. "Message
ENDIF.
LOOP AT it_error.
WRITE:/4 it_error-lifnr,
17 it_error-tabix CENTERED,
30 it_error-error_rec.
ENDLOOP.
REFRESH it_sucess.
REFRESH it_error.
ENDIF.
CODE IN INCLUDE.
Include ZMM_INCL_PURCHASEORDERKB01
DATA: it_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: it_MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA: E_GROUP_OPENED.
*-----Internal table to store sucess records
DATA:BEGIN OF it_sucess OCCURS 0,
msgtyp(1) TYPE c,
lifnr LIKE ekko-lifnr,
tabix LIKE sy-tabix,
sucess_rec(125),
END OF it_sucess.
DATA: g_mess(125) type c.
*-----Internal table to store error records
DATA:BEGIN OF it_error OCCURS 0,
msgtyp(1) TYPE c,
lifnr LIKE ekko-lifnr,
tabix LIKE sy-tabix,
error_rec(125),
END OF it_error.
Selection screen
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS session RADIOBUTTON GROUP ctu. "create session
SELECTION-SCREEN COMMENT 3(20) text-s07 FOR FIELD session.
SELECTION-SCREEN POSITION 45.
PARAMETERS ctu RADIOBUTTON GROUP ctu. "call transaction
SELECTION-SCREEN COMMENT 48(20) text-s08 FOR FIELD ctu.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD group.
SELECTION-SCREEN POSITION 25.
PARAMETERS group(12). "group name of session
SELECTION-SCREEN COMMENT 48(20) text-s05 FOR FIELD ctumode.
SELECTION-SCREEN POSITION 70.
PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.
"A: show all dynpros
"E: show dynpro on error only
"N: do not display dynpro
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 48(20) text-s06 FOR FIELD cupdate.
SELECTION-SCREEN POSITION 70.
PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'L'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s03 FOR FIELD keep.
SELECTION-SCREEN POSITION 25.
PARAMETERS: keep AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
SELECTION-SCREEN COMMENT 48(20) text-s09 FOR FIELD e_group.
SELECTION-SCREEN POSITION 70.
PARAMETERS e_group(12). "group name of error-session
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 51(17) text-s03 FOR FIELD e_keep.
SELECTION-SCREEN POSITION 70.
PARAMETERS: e_keep AS CHECKBOX. "' ' = delete session if finished
"'X' = keep session if finished
SELECTION-SCREEN END OF LINE.
PARAMETERS:p_file LIKE rlgrap-filename.
at selection screen *
AT SELECTION-SCREEN.
group and user must be filled for create session
IF SESSION = 'X' AND
GROUP = SPACE. "OR USER = SPACE.
MESSAGE E613(MS).
ENDIF.
create batchinput session *
FORM OPEN_GROUP.
IF SESSION = 'X'.
SKIP.
WRITE: /(20) 'Create group'(I01), GROUP.
SKIP.
*----open batchinput group
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = GROUP
USER = sy-uname.
WRITE:/(30) 'BDC_OPEN_GROUP'(I02),
(12) 'returncode:'(I05),
SY-SUBRC.
ENDIF.
ENDFORM. "OPEN_GROUP
end batchinput session *
FORM CLOSE_GROUP.
IF SESSION = 'X'.
*------close batchinput group
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
(12) 'returncode:'(I05),
SY-SUBRC.
ELSE.
IF E_GROUP_OPENED = 'X'.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
WRITE: /.
WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
ENDIF.
ENDIF.
ENDFORM. "CLOSE_GROUP
Start new transaction according to parameters *
FORM BDC_TRANSACTION USING TCODE TYPE ANY.
DATA: L_SUBRC LIKE SY-SUBRC.
*------batch input session
IF SESSION = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = it_BDCDATA.
WRITE: / 'BDC_INSERT'(I03),
TCODE,
'returncode:'(I05),
SY-SUBRC,
'RECORD:',
SY-INDEX.
ELSE.
REFRESH it_MESSTAB.
CALL TRANSACTION TCODE USING it_BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO it_MESSTAB.
L_SUBRC = SY-SUBRC.
WRITE: / 'CALL_TRANSACTION',
TCODE,
'returncode:'(I05),
L_SUBRC,
'RECORD:',
SY-INDEX.
ENDIF.
Message handling for Call Transaction *
perform subr_mess_hand using g_mess.
*-----Erzeugen fehlermappe
IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
IF E_GROUP_OPENED = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = E_GROUP
USER = sy-uname
KEEP = E_KEEP.
E_GROUP_OPENED = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = TCODE
TABLES
DYNPROTAB = it_BDCDATA.
ENDIF.
REFRESH it_BDCDATA.
ENDFORM. "BDC_TRANSACTION
Form subr_bdc_table *
text
-->P_0220 text *
-->P_0221 text *
-->P_0222 text *
FORM subr_bdc_table USING VALUE(P_0220) TYPE ANY
VALUE(P_0221) TYPE ANY
VALUE(P_0222) TYPE ANY.
CLEAR it_bdcdata.
IF P_0220 = ' '.
CLEAR it_bdcdata.
it_bdcdata-fnam = P_0221.
it_bdcdata-fval = P_0222.
APPEND it_bdcdata.
ELSE.
it_bdcdata-dynbegin = P_0220.
it_bdcdata-program = P_0221.
it_bdcdata-dynpro = P_0222.
APPEND it_bdcdata.
ENDIF.
ENDFORM. " subr_bdc_table
Form subr_mess_hand *
text *
-->P_G_MESS text *
FORM subr_mess_hand USING P_G_MESS TYPE ANY.
LOOP AT IT_MESSTAB.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = it_messtab-msgid
LANG = it_messtab-msgspra
NO = it_messtab-msgnr
v1 = it_messtab-msgv1
v2 = it_messtab-msgv2
IMPORTING
MSG = P_G_MESS
EXCEPTIONS
OTHERS = 0.
CASE it_messtab-msgtyp.
when 'E'.
it_error-error_rec = P_G_MESS.
it_error-lifnr = it_me21-lifnr.
it_error-tabix = v_count.
APPEND IT_ERROR.
when 'S'.
it_sucess-sucess_rec = P_G_MESS.
it_sucess-lifnr = it_me21-lifnr.
it_sucess-tabix = v_count.
APPEND IT_SUCESS.
endcase.
ENDLOOP.
Describe table it_sucess lines v_ns.
Describe table it_error lines v_ne.
ENDFORM. " subr_mess_hand
if it helpful reward points are appreciated

Similar Messages

  • Batch data communication

    How do i decide which method to use when uploading data from legacy system to sap?
    In session method
    suppose they are 10 records to upload ,if an error occurs at 6th record  when uploading data through session ,will the  7,8,9,10 records be processed ,what willhappen?
    what is direct input method

    Hi Aravind,
    Data Transfer 
    BDC
    Batch Data Communication
    It is used to transfer data from Sap to Sap or from Non Sap to sap system. It uses the normal transaction codes to transfer the data.
    Data Transfer Methods 
    You can use the following methods to transfer data:
    •        CALL TRANSACTION: Data consistency check with the help of screen logic.
    •        Batch input with batch input sessions: Data consistency check with the help of screen logic
    Difference between Batch Input and CALL TRANSACTION
    If the direct input cannot be used for your task, this makes creating a data transfer program easier since the underlying transactions ensure that the data consistency checks are executed.
    In the case of an error during the data transfer (if data records are inconsistent, for example), you can restart the transfer at the point in the program where the error occurred.
    Data Transfer Overview
    Batch input methods
    With the batch input method, an ABAP program reads the external data that is to be entered in the SAP system and stores the data in a “batch input session”. The session records the actions that are required to transfer data into the system using normal SAP transactions.
    When the program has generated the session, you can run the session to execute the SAP transactions in it. You can explicitly start and monitor a session with the batch input management function (by choosing System &#61614; Services &#61614; Batch input), or have the session run in the background processing system.
    CALL TRANSACTION methods
    In the second method, your program uses the ABAP statement CALL TRANSACTION USING to run an SAP transaction. External data does not have to be deposited in a session for later processing. Instead, the entire batch input process takes place inline in your program.
    Choosing Data Transfer Methods
    Selecting a Data Transfer Method  
    When you transfer data in ABAP, you have three options to submit the data for the data transfer. Only the first two methods can be recommended without reservation. The third method, by way of CALL DIALOG, is outmoded. CALL DIALOG is less comfortable than the other methods. You should use it only if you must.
    •     Use the CALL TRANSACTION USING statement
    Summary: With CALL TRANSACTION USING, the system processes the data more quickly than with batch input sessions. Unlike batch input sessions, CALL TRANSACTION USING does not automatically support interactive correction or logging functions.
    Your program prepares the data and then calls the corresponding transaction that is then processed immediately.
    The most important features of CALL TRANSACTION USING are:
    o     Synchronous processing
    o     Transfer of data from an individual transaction each time the statement CALL TRANSACTION USING is called
    o     You can update the database both synchronously and asynchronously
    The program specifies the update type
    o     Separate LUW (logical units of work) for the transaction
    The system executes a database commit immediately before and after the CALL TRANSACTION USING statement
    o     No batch input processing log
    •     Create a session on the batch input queue.
    Summary: Offers management of sessions, support for playing back and correcting sessions that contain errors, and detailed logging.
    Your program prepares the data and stores it in a batch input session. A session is a collection of transaction data for one or more transactions. Batch input sessions are maintained by the system in the batch input queue. You can process batch input sessions in the background processing system.
    Your program must open a session in the queue before transferring data to it, and must close it again afterwards. All of these operations are performed by making function module calls from the ABAP program.
    The most important aspects of the session interface are:
    o     Asynchronous processing
    o     Transfers data for multiple transactions
    o     Synchronous database update
    During processing, no transaction is started until the previous transaction has been written to the database.
    o     A batch input processing log is generated for each session
    o     Sessions cannot be generated in parallel
    The batch input program must not open a session until it has closed the preceding session.
    Executing Data Transfer Programs 
    Procedure
    If you are using an SAP data transfer program, follow the procedure specified in the program documentation.
    If you are using a generated data transfer program, proceed as follows:
    1.     Start the data transfer program.
    2.     Decide which batch input method you want to use for the data transfer.
    a) CALL TRANSACTION USING:
    You must specify the:
    – Processing mode: You use this parameter to specify whether processing should take place in the background or in dialog mode.
    Possible values are:
    A     Display all
    E     Display only errors
    N     No display
    – Update mode: This parameter determines how the data is to be updated:
    Possible values are:
    S     Synchronous
    A     Asynchronous
    L     Local update
    – Error session: Here you have the option to specify a session name for a batch input session in which data is to be written in the case of an error. You can use this to identify incorrect data records after the batch input program has run and to import the records into the R/3 System once you have corrected them.
    If you are creating an error session, you must also specify:
    – User: Specify the user with whose authorizations the sessions are processed.
    – Keep session: This specifies whether or not the session should be deleted once it has been processed.
    – Lock date: Specify the processing date for the error session.
    b) Generate session:
    – Session name: Specify a name for the batch input session to be generated.
    – User: Specify the user with whose authorizations the sessions are processed.
    – Keep session: This specifies whether or not the session should be deleted once it has been processed.
    – Lock date: Specify the processing date for the error session.
    3.     Specify a character that is to be used as the NODATA character.
    4.     Specify the path of the data file from which the data is to be imported into the R/3 System.
    5.     Execute the program.
    6.     If you have generated a session, or if errors occurred in CALL TRANSACTION USING mode, you must now edit the generated sessions. You can find information on this in BC - System services in  batch input sessions.
    Creating a Session with BDC_OPEN_GROUP  
    Use the BDC_OPEN_GROUP function module to create a new session. Once you have created a session, then you can insert batch input data into it with BDC_INSERT.
    You cannot re-open a session that already exists and has been closed. If you call BDC_OPEN_GROUP with the name of an existing session, then an additional session with the same name is created.
    A batch input program may have only one session open at a time. Before opening a session, make sure that any sessions that the program closes any sessions that it previously had opened.
    BDC_OPEN_GROUP takes the following EXPORTING parameters:
    •        CLIENT
    Client in which the session is to be processed.
    Default: If you don't provide a value for this parameter, the default is the client under which the batch input program runs when the session is created.
    •        GROUP
    Name of the session that is to be created. May be up to 12 characters long.
    Default: None. You must specify a session name.
    •        HOLDDATE
    Lock date. The session is locked and may not be processed until after the date that you specify.  Only a system administrator with the LOCK authorization for the authorization object Batch Input Authorizations can unlock and run a session before this date.
    Format: YYYYMMDD (8 digits).
    Default: No lock date, session can be processed immediately. A lock date is optional.
    •        KEEP
    Retain session after successful processing. Set this option to the value X to have a session kept after it has been successfully processed. A session that is kept remains in the input/output queue until an administrator deletes it.
    Sessions that contain errors in transactions are kept even if KEEP is not set.
    Default: If not set, then sessions that are successfully processed are deleted. Only the batch input log is kept.
    •        USER
    Authorizations user for background processing. This is the user name that is used for checking authorizations if a session is started in background processing. The user must be authorized for all of the transactions and functions that are to be executed in a session. Otherwise, transactions will be terminated with “no authorization” errors.
    The user can be of type dialog or background. Dialog users are normal interactive users in the SAP system. Background users are user master records that are specially defined for providing authorizations for background processing jobs.
    Advantages:
    Types of BDC :
    CLASSICAL BATCH INPUT (Session Method)
    CALL TRANSACTION
    Session method.
    1) synchronous processing.
    2) can tranfer large amount of data.
    3) processing is slower.
    4) error log is created
    5) data is not updated until session is processed.
    Call transaction.
    1) asynchronous processing
    2) can transfer small amount of data
    3) processing is faster.
    4) errors need to be handled explicitly
    5) data is updated automatically
    <b>Regards,
    Azhar</b>

  • How can I recover from a Botched BATCH DATE CHANGE in iPhoto?

    Botched Batch Date Change iPhoto08
    Short Story: Intending to change the date for one photo I managed to change the dates for all 8,525 images in my iPhoto08 library to the SAME DATE!! I found that the original creation dates were saved in the in the Modified field that appears in the Photo Info Window / File metadata subsection. I would like some help figuring out how to set the Date Created to this File Modified Date that appears in the Photo Info Window.
    GORY DETAILS:
    I used iPhoto08/ Photos menu / BATCH CHANGE... /“Set DATE to 20100723 1:20:54 PM” with “Modify original files” checked. iPhoto changed all 8,525 images to the same date.
    I now realize I should have used Photos menu / Adjust Date and Time ... But the damage was already done. Unfortunately there was no Edit menu / Undo for this operation. ALL 8,525 images have the same date. I checked in the the iPhoto Information sidebar--same date all images.
    Next, as a test, I dragged an image to the desktop and opened it in Graphic Converter7.0.3. The same date “20100723 1:20:54 PM” appeared in the Image Browser List /”Date Created”, “Date Modified”, “Date Captured” metadata fields.
    The following appeared in the Graphic Converter
    Image Preview sidebar (subWindow) going left to right
    Image menu/button
    Date and Time: Friday, July 23, 2010 1:20:54 PM PT
    Exif menu/button
    File date and time: 2010:07:23 13:20:54
    Date and time of original data generation: 2010:07:23 13:20:54
    Unknown tag (36868): 2010:07:23 13:20:54 <- significant?
    ExifTool menu/button
    ExifTool Version Number:8.40
    Warning: [minor] Suspicious MakerNotes offset for tag 0x9001
    ----System----
    File Modification Date/Time: 2010:07:23 13:20:54-07:00
    ----IFDO----
    Modify Date: 2010:07:23 13:20:54
    ----ExifIFD----
    Date/Time Original: 2010:07:23 13:20:54
    Create Date: 2010:07:23 13:20:54
    <<<<<<OH MY GOD >>>>>> the BATCH CHANGE / SET DATE not only RESET the date for EVERY IMAGE in my library, it also changed the date metadata EVERYWHERE inside each individual image file.
    Actually it's my Mom and Dad's iPhoto library containing all the kids and grand kids pictures, family trips, important events, everything. There is no backup. I feel as if I have tipped over a file cabinet containing all our photos. Our “date and event” organized 8,525 image iPhoto library was now as useful as a giant shoebox. On second thought, a shoe box full of real photo prints would be more useful than my iPhoto library because the prints would have the print date stamped on them.
    At this point feeling desperate I closed my eyes and said a quick prayer to Saint Rita - Patron Saint of the Impossible.
    I returned to iPhoto .................and noticed the Show Photo Info MENU item in the Photo Menu.
    I selected it.
    And Low and behold,
    in the Photo Info WINDOW,
    under the Meta data File SUBSECTION, the correct photo creation date appeared -->" Modified: 20071002 05:46:07 PM" I checked different photos ... They all had different FILE MODIFIED dates. These dates were/are the old creation dates! My prayers were answered: THANK YOU SAINT RITA!
    But now I am really stumped! This File Modified Date seems to be some kind of external metadata that is indexed or keyed to each image. How is this metadata stored in the iPhoto library? How can I access this File Modified date? I now turn to you GREAT iPhoto WIZARDS. Pray tell, how can I set the “Creation Date to the file Modified Date” that appears in the Photo Info Window as a (scriptable?) batch process.
    I am on my knees for this one...please help. we have iphoto11 but afraid to upgrade to it. until i know more i don't want to loose this Modified Date metadata.

    thanks for the quick response...
    no simple solution because no backup to restore from
    iPhoto seems to be using file metadata as some sort of index key in the
    Photo Info Window. open up the iphoto library package and take a look at
    the .xml file -- ModDate is used everywhere. hoping to export this data and merge/join it to
    each image.
    still trying to figure it out.
    thanks,
    Tom

  • Splitting events after batch date change causes event to disappear

    Hi all,
    The basic (repeatable) scenario is this:
    o I scan in a bunch of old pictures I want to keep in iPhoto (lets say 10)
    o I import them into iphoto (no problems with import) 1 event with 10 pictures is created.
    o I then take a specific set of 4 photos and split them out of the main event into a new event (everything still ok) - 2 events, 4 and 6 events respectively.
    o I open the new event and do a batch date change on the 4 pictures, changing the date to the correct date of the picture
    o I exit the event expecting it to move up in the list of events (I sort by date). It's gone! iPhoto lists the 1 new event and its 6 photos
    o I change my sort (by time, by name, etc) and still not there.
    o I find my library in finder, open the package, and the files are still there.
    o I go back to iPhoto and click on "Photos". Walla! 10 pictures!
    o I undo the data change and they show up again in events - 2 new events, 10 total pictures.
    I've already done all the obvious checks (are you sorting by date, look up by even name, search by file name through all events etc.) I've talked with a product specialist and they said the standard "rebuild the library" which did not resolve the issue.
    I can repeat this until the cows come home in the existing library. I've created a brand new library and it does not repeat, do there is something in my library not right. But I don't buy the standard "redo your library from scratch" (36K pictures, 50 faces and hundreds of places). Just like with faces, you can discard the db files, there must be something besides "rebuild automatically and if that doesn't work sorry start over". Was iPhoto coded in Redmond?
    Has anyone had anything similar to this? I looked through the forums and couldn't see anything. If I have to rebuild this, I am done with iPhoto after having to rebuild due to faces too many times, and my question changes to what are folks recommendations for a more stable photo management software suite?
    Thanks!
    HOTG

    If the problem doesn't repeat in another Library then obviously the issue is with that library.
    As you've tried the basic rebuild: Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Choose to Rebuild iPhoto Library Database from automatic backup.
    The obvious solution is to restore a good version from your back up and, er, Walla! as you say yourself.
    Next least destructive option: Download iPhoto Library Manager and use its rebuild function. This will create a new library based on data in the albumdata.xml file. Not everything will be brought over - no slideshows, books or calendars, for instance - but it should get all your albums and keywords back.
    Because this process creates an entirely new library and leaves your old one untouched, it is non-destructive, and if you're not happy with the results you can simply return to your old one.
    Regards
    TD

  • Batch date change problem in iPhoto

    I have hundreds of printed photos I scanned in 2009. Even though they were taken over three decades iPhoto thinks they were all taken in 2009. I separated them into years, numbered them, and put them in folders which became events. I tried using batch date change -- the first one in the event is OK, but the others changed  all different. Example: I changed picture one, in event folder "1999" from 3/5/2009 to 1/1/1999. All of the rest of the pictures changed to the same time difference that they were when I scanned them. I didn't scan them all in chronological order, so that doesn't help at all. Do I have to manually change each of my 9000 photos? This is a problem when I try to show a chronological slide show on Apple TV.

    Scanned photos do not have an EXIF Capture Date field in the file like photos taken with a digital camera do.  Therefore iPhoto uses the file created date or import date for those photos.
    You will have to group all 1999 photos into an album, arrange them in the order you want and then use the Photos ➙ Batch Change ➙ Date menu option and add a 1 minute or so between photos.
    Then do the same for the next year's photos.
    OT

  • Vendor batch data

    Hi experts,
    While displaying batch (transaction MSC3N), I found Vendor Batch field with the vendor batch number in it.
    It drives me to the table-field MCHA-LICHA.
    But when I check the table, I find the field MCHA-LICHA with a blank value.
    How come it happened? where can I find the vendor batch data?
    Please advise.
    regards,
    rob

    To my knowlege there is no standard report that will show movements with or by vendor batch.
    The vendor batch that you enter while doing a goods receipt is only stored in the batch record, mot in the movement.
    In BMBC batch information cockpit it is possible to list batches and to display the vendor batch at the same time (tab where used).
    You may need to execute this first, then take all your batches for a certain vendor batch and use it as selection criteria for MB51 to the see movements.

  • Batch Date in APO = 01.01.1970

    Hi All,
    I have a problem with the batch date in APO.
    It shows as 01.01.1970.
    This effects dynamic pegging as nothing gets pegged to it as it is
    too far in the past.
    There is a date of manufacture etc in R3 on the batch.
    The Delta report shows no inconsistencies.
    How can I correct this ?
    Thanks,
    Tony

    Hi Tony,
    You need to make sure all the characteristics values like (availability date, production date and expiry date) for batches are transfered to APO. For any batch you can check the same in versions tab of transaction /n/SAPAPO/RRP3.
    For old batches if the characteristic is added later on then it will not pick the new characteristic value. For such batch goto MSC2N in R3 and in classification tab peform consistency check. Here it will acquire values of new charactristics. (For mass updation you might need to right BDC)
    Then re-CIF batches again by again generating and activating IM.
    Now the date 01.01.1970 should not appear.
    Best regards,
    Vaibhav

  • Batch Data Capture to do a Goods Receipt via transaction MIGO.

    Hi All,
    I have a new requirement to perform a Batch Data Capture of a goods receipt via transaction code MIGO.
    Currently the BDC approach is not feasible due to the fact that screen configuration is dynamic and may differ at times between different users and user profiles. 
    Therefore I have tried to use function module 'MIGO_GR_CREATE' instead.  However after some initial investigation it has become clear that a material document number that is generated by SAP may not be returned by this function module after successful execution of a "GR". 
    Therefore does anyone know any function module to use in order to do a "GR" by passing or submitting a purchase order number + purchase order line item number (and possibly a delivery note number) and get back a material document number after successful/complete execution.
    Thanks.

    HI ,
    You can use 'BAPI_GOODSMVT_CREATE' to create goods recipt.
    Check this code for reference..
            MOVE x_purchaseorder TO goods_mvt_tab-ebeln.
            MOVE eban-bnfpo      TO goods_mvt_tab-ebelp.
            MOVE up_tab-feld_12  TO goods_mvt_tab-menge.
            MOVE eban-werks      TO goods_mvt_tab-werks.
            MOVE eban-lgort      TO goods_mvt_tab-lgort.
            APPEND goods_mvt_tab.
      LOOP AT goods_mvt_tab.
        MOVE sy-datum            TO y_goodsmvt_header-pstng_date.
        MOVE goods_mvt_tab-ebeln TO y_goodsmvt_item-po_number.
        MOVE goods_mvt_tab-ebelp TO y_goodsmvt_item-po_item.
        MOVE '101'               TO y_goodsmvt_item-move_type.
        MOVE 'B'                 TO y_goodsmvt_item-mvt_ind.
        MOVE goods_mvt_tab-menge TO y_goodsmvt_item-entry_qnt.
    *    MOVE 'PCE'               TO Y_GOODSMVT_ITEM-ENTRY_UOM_ISO.
        MOVE 'PC'               TO y_goodsmvt_item-entry_uom_iso.
        MOVE goods_mvt_tab-werks TO y_goodsmvt_item-plant.
        MOVE goods_mvt_tab-lgort TO y_goodsmvt_item-stge_loc.
        CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
          EXPORTING
            goodsmvt_header             = y_goodsmvt_header
            goodsmvt_code               = ls_movement_code
            testrun                     = y_testrun
          IMPORTING
            materialdocument            = y_materialdocument
          TABLES
            goodsmvt_item               = y_goodsmvt_item
            return                      = y_return.
    Regards,
    Sachin M M

  • Lab Batch Data Load

    I have a query related to Lab Batch Data Load.
    I am testing to load a lab but when I submit the PSUB Job a fatal failure message “Cannot open the file” is coming.
    I wanna to know that what is the full path for “Lab Data File Name”
    Can you please help me out?
    regards,
    Suniti

    user11309982 wrote:
    I have a query related to Lab Batch Data Load. Never heard of it. It's not an Oracle standard thing. Something your college/school/business has provided perhaps?
    I am testing to load a lab but when I submit the PSUB Job a fatal failure message “Cannot open the file” is coming.Never heard of PSUB job. I guess it's part of the same non oracle standard thing you're doing. The fact it "cannot open the file" would suggest that the files are in the wrong place or the access permissions are wrong somehow. Have you followed your instructions correctly?
    I wanna to know that what is the full path for “Lab Data File Name”If it's Oracle, the chances are that you only need to know the full path for setting the directory object, then the job will call some procedure or pl/sql code that will probably use utl_file package and reference that directory object, and thus the file. However without your code, how on Earth can we tell what you are doing?
    Can you please help me out?Post your code or more details.

  • Change "Vendor batch" data in the inspection lot

    Hi gurus,
    I have created an inspection lot. It is created in automatic once the GR is made.
    But, I have introduce the wrong "Vendor batch" and the inspection lot has the incorrect data there.
    How I can change the "Vendor batch" data in the inspection lot?
    This field is showed as greyed in the transaction QA02.
    Many thanks in advance for your help!
    Kind regards,
    SP

    Hi Sandra,
    Iam not sure about the option to change the Vendor Batch but i can Suggest the other option. i.e Cancellation of GR and creating the new one.
    1. First remove the 01 inspection type in Quality Management tab in Material master,
    2. Go to goods receipt in MIGo and put 102 movement type and do the reversal.
    Now the stock is in the order level. and you can do the GR again.
    Activate the QM tab before doing the 2nd GR.
    revert back for clarifications if any.

  • Batch Data Capture of transaction 'MIRO' via background execution

    Hi All,
    I am currently working on a report that amongst other things conducts a batch data capture (i.e. BDC) via a recording of transaction code 'MIRO' in order to create an Invoice Verification with the 'Invoice Receipt' number being the only expected output after successful execution.
    I am populating only the following fields (i.e. via the recording) with data processed within the report program:
    -  INVFO-BLDAT
    - RM08M-EBELN
    - INVFO-XBLNR
    - INVFO-WRBTR
    The problem however is that this same recording works when I execute the report in the foreground but does not work when I run it in the background work process.  Could there be a common and well known cause to this? 
    Please help!  I just need the same recording to be able to run in the background work process as well as it runs in the foreground.
    Thank you.

    Hi!
    For technical reasons, batch input and the new single screen enjoy                    
    transactions are no compatible. See Notes 381630 & 381593 for more                    
    detail. Notes are attached.                                                                               
    381630 0004 0.400 Batch input for Enjoy transaction in MM not possib                  
    381593 0008 0.430 MIRO/MIR7/MIRA: Batch Input is not possible                                                                               
    Hope the information helps you.                                                       
    Erika

  • Get Batch date

    Hi All,
    How do we get Batch date ? is there any system field ?
    Thanks in advance

    Hi All,
    I am running a program in the background mode.
    I want the Batch date in which date i have sheduled the program . because i want to sort the material depending upon the batch date . if the batch date is even sort the material by decending and otherwise ascending.
    so if the program is sheduled by 11 pm it will take 4 hrs to complete.it will complete  next day  morning 3am.if i take the sy-datum the date was changed and it will go to next date the sort will go wrong.
    How can i identify the Scheduled date is there any system field or any another way ....
    Thanks in advance .

  • Batch data process into PLSQL by webservice

    hi
    how to perform a batch data process into EBS?
    e.g I have a large amont around 10'000 line of data,and about to import them into EBS , but I don't know if it will has trouble for the webservice and plsql .
    any idea?

    Using the PL/SQL table IN parameter.

  • Batch data transfer

    hii can some one explan regarding - BATCH DAT TRANSFER
    its role
    its objective
    why it is used

    Hi
      An interface enabling the transfer of large amounts of data to an SAP System.
    The initial transfer of legacy data and the periodic import of non-SAP data is performed via batch input.
    Regards
    Suresh

  • Can any give mee a simple way to perform BDC(Batch data communication)

    give mee a simple way to perform BDC(Batch data communication)
    Moderator message: please search for available information/documentation.
    Edited by: Thomas Zloch on Jan 11, 2012

    Do some research. The easy way to construct a BDC is to record the transaction.   You can easily do that from transaction SM35, Recording function button.  Once you have the recording, write code to populate the BDC data values, store the BDC and call the program to execute the BDC session(s), or utilize call transaction to call the transaction needed, supplying the BDC table with program name(s), screen(s), fields and data values.
    Note that this is very old technology in SAP.  I would look for a BAPI that does what I need before resorting to a BDC session.

Maybe you are looking for

  • Profit Centre substitution  on the line  items

    Hi Guys I am replicating a  contract  from  CRM  to R/3 ,  the  CRM contract will replicate  as debit  memo request / contract in r/3  with   u201Cnu201D line items  and these  line items are   populated with  profit centers  based on  plant and prod

  • How to render with alpha channel?

    Hello, I am trying to render a comp with alpha  channel QT PNG. When i play the clip it's with black BG but if i  imported in AE is with alpha channel. How to render in such way that i  can play in Quicktime without the black BG? Am i missing somethi

  • At the time of copying online redologs to STANDBY site.....

    hai.. At the time of configureing dataguard manually(without rman) do i need to copy the online redologs to standby site along with *.dbf files and standby controlfile after clena shutdown? bcaz some procdeures guide me to copy all files with online

  • All mail being sent from default account!!!!

    Hello. I have four (4) email accounts linked to my iPhone. Whenever I send a message from any account, it sends it from the default account. Is there a way to fix this? I'll try to explain in better like this ... - My default account is #1 of 4 - I w

  • Multiple speaker locations - Airport Express

    Got a 12" Powerbook hard-cabled to the internet, two Express base stations, both controlling separate powered speakers, in separate rooms. Please tell me how to connect to both at the same. I've got iTunes 7.0.1, and the firmware for my AP card is 40