Possible Solution: Allow native code packaging with AIR using ADT?

Packager / ADT are providing huge benefits for AS3 developers targetting mobile as we all know.  We also know that we'd like as much access to the native libs for the various platforms as we can possibly get.  Two cases in point, in-app purchasing and access to Apple's iAd network.  Discussions about these requirements over the last few days with a colleague of mine have resulted in him coming up with a very strong idea for providing adhoc access to native libraries.  He has posted his suggestion, (which involves a feature request to Adobe), on Adobe AIR Ideas at Labs.  I really encourage as many people as possible to read his suggestion to get the discussion warmed up.  If you think the proposal is worthy, please make sure you vote it up so that it registers on Adobe's radar.  I believe this would really benefit all of us working with AIR for mobile. Here is the link.
Peter Robertson

manicjames wrote:
I have packaged my AIR app into a Native .exe installer using ADT. If the user does not have air installed and they are connected to the internet, the AIR runtime is automatically installed.
Is it possible to package the AIR runtime into the exe so that if the user is not online the AIR runtime is installed?
I have experimented with the sidecar install and .air file but ideally I want to only have the one file(.exe). I already have a distribution licence from Adobe.
This isn't available at this time, but I think it's a great idea.  You might want to add a feature request for this over at ideas.adobe.com and bugbase.adobe.com, or review and vote for these current feature requests if they provide for what you're looking for:
Portable AIR Apps
Create portable AIR apps
If you decide to add a new request, please post back with the URL so others can cast their votes and add comments.
Chris

Similar Messages

  • Native Installer works with Net Use, but AIR File does not.

    I'm building an AIR application that runs a "net use" command in windows 7.
    Strangely, the installer type appears to impact run permissions:
       + Export release build to "Native Installer" -> "Net Use" works and I see all my test alert boxes.
       + Export release build to "AIR File" --> animations run and the app is responsive, but I don't see any of my alert boxes and the "Net Use" command shows no sign of running.

    Update - partial resolution:
    Apparently you have to use a Native Install to use native functionality (don't know why this includes Alert Boxes).
    I just found this bit on Adobe's web site:
         Packaging an AIR application in a native installer
              http://help.adobe.com/en_US/air/build/WS789ea67d3e73a8b22388411123785d839c-8000.html
    Adobe, please work to address this.  I'd like to release cross-compatible code and this creates a situation where the user has to choose a different installer based on their platform.  Minor, but annoying when an AIR file works for both in other instances.
    It would also be nice to get some sort of error message.  I had no idea why things weren't working (even my Alert boxes were being swallowed).

  • Viewing online images in native phone apps with AIR?

    Gidday guys
    What's the standard way of loading an online image into a native phone app? An image that can't be packaged with the app as it may have been changed by the user eg a profile picture, or their logo?
    Cheers

    Yes - I do this with my desktop AIR app.
    What I'm wondering though is it OK to do this for phone apps, or is there some advantage to emedding the images and putting them in your project's assets folder? eg phones being able to cache images from assets, but not if the images are built into the swf.

  • AIRI to AIR using adt

    I'm more of a user interface kindof person and after reading a bunch of pages on how to sign an airi with a certificate using adt.bat, I'm probably more lost than I was before I started.
    adt -checkstore -storetype pkcs12 -keystore yourCert.p12
    I tried changing the adt.bat tool to this (changing the location of my certificate) but it didn't work at all.
    Could someone please give me some indication as to what I'm actually supposed to do, step by step, to sign an airi with a certificate? Any help would be greatly appreciated.
    Thanks,
    Matt

    You don't modify the adt.bat file. You just need to type in at the command line.
    To simplify the command, you can put the certificate and the .airi files in the same dir. Let's say C:\test.
    Then you can cd to the dir.
    Then the following command should work:
    "C:\Program Files\AIR SDK\bin\adt"  –sign -storetype pkcs12 -keystore cert.p12 unsignedMyApp.airi myApp.air

  • (Possible solution found) Can my wife and I use the same Lion DL even with two separate Apple IDs?

    EDIT: Sorry; original search terms didn't give me my answer. I think I found a solution though. Will update whether it works out.
    My wife and I each have our own MBPs, and we each have our own Apple IDs that pre-existed our marriage. Apple doesn't make it easy to have one family account with subaccounts managed underneath this, and we don't want each others iTunes purchases populating our libraries.
    Is it possible for me to DL and install Lion with my Apple ID, copy it to hers, and install it there with my same info yet still allow her to use her own ID for other things? Or will we need separate IDs for each download?
    Message was edited by: super reubs

    iTunes: How to share music between different accounts on a single computer - http://support.apple.com/kb/HT1203 - relocating iTunes' media folder to a shared area but leaving separate library files - extra tip at https://discussions.apple.com/message/17331189
    Chris CA's instructions on sharing one iTunes music library between multiple user accounts - https://discussions.apple.com/message/8974074 - Multiple users using a single library file - similar post at: https://discussions.apple.com/thread/3753008
    Suggestion by Turingtest for multiple users and one library - http://discussions.apple.com/message/9117622 - use smart playlists and tags to isolate groupings.
    Discussions on using purchases from multiple AppleIDs in one iTunes library - https://discussions.apple.com/message/19543804

  • Packaging with Air 2.6 is so gloomy

    At first using the PFI was simple, now air sdk 2.6 come with new possibility
    but now you have to use terminal and going into the xml descrriptor file to create an .ipa. It is a pain in the ****
    we need  good tutorial or a good user guide.
    if someone find one ....

    I use windows so I ended up writing a small batch file that I keep in the root of my project
    Package.bat
    set localPath=%~dp0
    set airSdkPath=C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\sdks\Air 2.6
    set appName=MyApplicationName
    set mobileProvisionPath=%localPath%\MyMobileProvision.mobileprovision
    set certPath=%localPath%\MyCert.p12
    "%airSdkPath%\bin\adt.bat" -package -target ipa-test -provisioning-profile "%mobileProvisionPath%" -storetype pkcs12 -keystore "%certPath%" "%localPath%\%appName%.ipa" "%localPath%\bin-debug\%appName%-app.xml" -C "%localPath%\bin-debug" %appName%.swf -C "%localPath%\bin-debug" assets
    Update line 2 to where you unzipped the Air 2.6 SDK
    Update line 3 to give it the app name you are using (the name of your swf)
    Update lines 4 and 5 to your mobile provision and cert paths. (I keep mine in the project folder)
    Now I can publish by simply double clicking Publish.bat from within Flash Builder. Not Ideal as this should all be part of the IDE's default functionality (Maybe it will be soon) but it will do for me for now.
    Hope that helps
    Pleh

  • A possible solution to the MIDI problem with Audition 5.5

    Hi, all.
    In searching for other answers to my Audition 5.5 questions, I've been seeing lots of complaints on these forums about the lack of MIDI compatibility with this version.  If you have an external MIDI sequencer, I offer a solution that you might find useful.
    Go into Audition's Edit > Preferences and change the time display from minutes and seconds to bars and beats
    Specify the time signature to the closest beat value of your song (exampe:  if you're using both 3/4 and 4/4 time signatures, go with 4/4)
    Set the tempo to match your song
    Lay down a full length click track with at least a 4 measure click intro
    Insert the same length click intro into every track (which, when working with previously sequenced tracks, is just a matter starting the machine in sequence-record mode with the metronome on, counting the appriopriate beats and turning it back off just before the song starts)
    Mute all but the track you intend to record
    Record each instrument track to its own file, save and open a multi-track session
    Position the first beat of the click track far enough into the session to preclude needing to trim intros (you can trim the silence out with the click intro after mixdown)
    Zoom in until a single click fits perfectly under the time indicator line
    Drag or snap all the other tracks underneath it so that the first click of each track lines up
    I use lots of instruments with slow attack (such as strings), or tracks where the instrument might only be in a few measures, so the 4+ measures of click intro are particularly useful.
    Pretty low-tech, but quick and painless nonetheless.  It suits my purposes, though I'd love to know if someone has a better method.  Thanks for reading.
    Sue

    Bob Howes wrote:
    The other problem is that, even among the "music creation" market, there can be big differences in the perceived importance of MIDI. 
    I'm not a musician myself but have worked closely with two very different composers.  One of them does practically everything in MIDI (using Sonar) then tends to hand me the files to work with in Audition (after conversion to wave format).  Some tracks are left in the form they came but others are replaced with live "real" instruments.
    The other person is much more traditional.  He plays more instruments than I can count and I help him by recording as he lays down drums, guitars, bass, brass, etc. etc.  He owns a lot of keyboards but, even with these, he sends me line out and uses the actual keyboard sounds rather than laying down MIDI data. 
    So, if you asked these two how important it would be to have MIDI functionality, you'd get two very different answers.  From some of the recording forums I frequent, I get the impression that my friends are a microcosm of the whole market .  Some use MIDI a lot while others prefer the feel and sound of recording live instruments.  (And, I'm sure, others inhabit a middle ground.)
    True dat.  Up until about a year or so ago, I didn't use MIDI, and so Audition was for me music production software par excellence.  Then about a year ago, I started getting into MIDI, and now I'm not only using MIDI for creating keyboard-based tracks for overdubs, I'm actually writing songs using MIDI (whereas before songwriting almost always involved a guitar).  MIDI has become huge for me, in other words.  And whether I go to sites like Studio Central and read Tweakhead's guide to homerecording in which he tells people that modern music-making either involves MIDI or is MIDI-based, or whether I read articles in Sound on Sound magazine which constantly reference MIDI in their articles, have regular features about sample librairies that use MIDI, or look at the countless ads touting MIDI keyboards and controllers, it's clear that MIDI is as much a part of modern recording as guitars and mics.  Before, I never used to get what Steve was on about when he'd say that Audition isn't music production software, because I had produced five albums of stuff using either CEP or Audition.  Now, I understand what he means when he says that.  When he says Audition isn't a music production software, he means 'Audition doesn't have MIDI'.  However, the truth of the matter is that Audition is a wonderful music production software if you don't use MIDI, and a partial music production software if you do.   You know, I've tried out other softwares - Reaper, Studio One, FL Studio (ha!) - and none of them come close to Audition for me.  Sure, I can get by using Reaper for MIDI, but knowing how Audition does things, I know that I'd be happier doing it inside Audition.  Hence, the continued lobbying.  I want the best.

  • Possible solution for white C2D iMacs with screen artifacts or lines

    I have a white 20" Core 2 Duo iMac with the famous screen artifacts issues. Screen tearing, horizontal lines, goofy pixels, you name it. From my research it seems there are countless others with these problems.
    I tried running the SMC fan control app to boost fan speeds. This helped a little, but did not completely solve the issue. A lot of people think these issues are related to heat, and I agree, but only partially. When a graphics chip overheats it is eventually damaged. I have damaged my share of graphics chips while overclocking them in my PCs. In the case of my iMac and maybe plenty of others, I still have issues if the GPU is hot or cold.
    I installed WinXP using bootcamp. I finally found an application which will change the clock speed of the GPU on the fly. The X1600 GPU in my iMac has a 475Mhz core speed and 500Mhz memory speed. I cut these down to 400Mhz on the core and 400Mhz on the memory. At these lower speeds I no longer have any issues with screen tearing, horizontal lines, or random crashing. I do still have a few wierd pixels here and there, but they are not all that noticeable and I can live with them.
    Now for the fun part. I wanted to permanently fix these speeds into my GPU so when I boot back to Mac OS X, I don't have any issues, and I no longer have to boost fan speeds or run any additional apps. I spent most of today taking apart my iMac, putting DOS on a spare SATA hard drive, and running an external monitor while booting my iMac with the spare drive hanging out the side. All this so I can run ATIflash, and use it to dump an image of the GPU BIOS ROM file.
    Well, I ended up finding out the ATI GPU has no ROM to flash. My best guess is open firmware or something like that passes this data on to the GPU when the system boots.
    So, in my case slowing the GPU down significantly reduced my problems while running within windows. I am 100% confident slowing the GPU down will also improve issues within Mac OS X, but I have no way to pull this off.
    If Apple reads this, or if anyone has any connections at Apple, can we please get an optional firmware update to reduce the speeds of the X1600 GPU? It won't fix all the iMacs with these issues, but it will fix quite a few, and for those out there who don't have any issues at all with their white C2D iMacs, lowering the GPU speeds will most likely prevent damage from inevitably occurring, keeping them a happy customer.
    Now, some of you may not like the idea of a slower GPU, but if I have to pick between a slower GPU and an $800 logic board, I will take the slower GPU any day.

    There is a little easier Way to Navigate in Doing an F.D.R. than that Method: I listed it here if you prefer going this Route..
    2. Re: FACTORY RESET FOR RAZR AN RAZR MAXX

  • Bundling Packages with AIR apps?

    I want to include ffmpeg with my app, hopefully to use local
    cpu power for encoding video instead of my servers. Is there
    anywhere within the realm of feasibility?

    quote:
    Originally posted by:
    Joe ... Ward
    Right now, you would have to convert ffmpeg into an
    ActionScript library using Alchemy.
    Sounds like it might work. Thanks!

  • Want to buy Air Nav Pro. Available in the Apple Store in a pack with Air Nav Standard. What advantage to have both ???

    Want to buy AIR NAV PRO for training and preparing flights with an Ipad2.
    This app is available in the APPLE STORE in a package with AIR NAV STANDARD.
    What advantage to buy both AIR NAV PRO and AIR NAV STANDARD ???

    You can only buy content from your own country's store i.e. the Egyptian store if you are in Egypt - you need to be in a country to use its store, so to use the US store you will need to be in the US and have a US billing address on your account. If there is an app or any other item that you would like to be buy that isn't currently available in the Egyptian store then you can try requesting that it be added, but unless the app's developer or rights-holder agrees to it then Apple won't be able to sell it there : http://www.apple.com/feedback/itunes.html

  • Is it possible to undeploy a support package?

    Is it possible to undeploy a support package you applied using jspm -> single_support_packages ?

    Thank you Effan but can you give me more detail as to how to do it ?
    I was on lm service sp2 and I applied lm service sp6. Now I want to now go back to lm service sp2.
    This is what I have in my RemoteGui.bat
    @echo ===============================================
    @echo  Starting SDM remote gui
    @echo.
    @echo  To connect to the SDM Server
    @echo.
    @echo  Use Your password and port 50018
    @echo ===============================================
    @set sdm_gui_options=-Dsun.java2d.noddraw=true -Duser.language=en
    @call "/usr/sap/ZM1/DVEBMGS00/SDM/program\sdm_prep_com.bat"
    %sdm_com% remotegui "sdmhome=/usr/sap/ZM1/DVEBMGS00/SDM/program"
    @pause
    lm service has a bunch of components like
    sap.com/tc/smd/agent/application/checks
    sap.com/tc/smd/agent/application/connectors
    sap.com/tc/smd/agent/application/database
    sap.com/tc/smd/agent/application/datacollector
    sap.com/tc/smd/agent/application/e2emai
    sap.com/tc/smd/agent/application/eem
    sap.com/tc/smd/agent/application/filesystem
    sap.com/tc/smd/agent/application/flightrecorderdumpscan
    sap.com/tc/smd/agent/application/global/conf
    sap.com/tc/smd/agent/application//global/licenseaudit
    What is the syntax to undeploy these components from sp6 back to the original sp level 2.

  • To save time, could I get away with just using ProRes Proxy?

    Might be a dumb question.  But please play along with me...
    I've been battling with FCP-X since it first came out.  Beach balls, crashes, failed auto saves, you name it.  Sluggishness is my middle name.  But I think it might be because I'm trying to force too much quality through my older, less powerful machines and my little firewire 400 hard drive.  All three of my Mac are 3-4 years old, all are from the old "Core 2 Duo" era (not quad core processors), and are all maxed out at 4GB of RAM.  While I've read that many people are having performance problems with FCP-X even on brand spankin' new suped-up Mac Pros with lots more horsepower than I'm running, I've long thought that my machines and their lack of power by today's standards may be at the heart of my sluggishness problem, especially given that most of the material I work with is shot in 1080 HD.  (I've never actually tested it in FCP-X, but I'm assuming that things would speed along more like I've been used to in the past if I would just do everything in Standard Definition 480, but that ain't gonna happen.)
    Like many, I shoot most everything in 1080 HD (usually 24p, sometimes 30), unless I'm occasionally shooting 720 HD at 60i for later slowing down to slo-mo.
    Here's my question:  Most everything I edit is for web delivery, and 99 percent of it is for my own use (not clients).  Mostly podcast-like stuff, although occasionally I'll create something for my business website.  Most of what I do is talking head type stuff, not a lot of motion (except for the 720/60i slo-mo stuff, which usually has some motion, which is why I shoot it at 60i for slowing down).  Most of what I shoot is green screen talking heads, intended to be keyed in front of some innocuous background like some of the generators in FCP-X.  I want it to look good.  Even great.  But given the limitations of power on my machines, I also don't want to invest an eternity in rendering and processing time.  The work I'm doing with video just isn't that important.  It's mostly for grins.
    Until last night, I had been working exclusively in ProRes422 (aka "Optimized").  But last night I shot some footage and imported it into FCP-X, encoding it ONLY in ProRes Proxy.  And frankly, I couldn't discern any difference.  It looked every bit as good as the 422 stuff I'd shot before.  There was absolutely no difference to my naked eye.  That said, the footage I shot last night to test this out was not shot in front of the green screen (I'll test that out today or tonight), so maybe the Proxy footage won't key as well.  (I've been stunned at how good the keyer is in FCP-X, but up to this point I've only been keying ProRes422 footage, not Proxy.)  But really, based on just eyeballing the footage, I couldn't tell the difference between the Proxy footage and all the other footage I'd shot previously that had been imported and converted to "Optimized" ProRes422.
    I'm not looking to deliver anything for broadcast television (if I were, I'd for sure use 422).  I'm not doing any feature film type stuff.  My video work consists mainly of stuff just for me, for my own personal amusement (and for the amusement of anyone who might watch it on the web).  It's intended for YouTube, Vimeo, or occasionally (in smaller dimensions than 1920x1080) for deployment on my company website.  Mostly, it's just me doing podcast-type stuff.  Occasionally I'll shoot and edit something for church, or for friends.  I like to think the production values of my stuff tend to be higher than, say, the footage Aunt Delores shot at Uncle Ralph's birthday party (okay, A LOT higher than that!).  But my stuff isn't going to air on "Good Morning Flatbush" either (unless, on the off chance it should happen to go viral).
    So let me make my question as clear as possible:  Could I not get away with just using ProRes Proxy throughout my entire work flow, end to end, never switching over to ProRes 422 even when exporting?  Honestly, it has taken hours just to render the keyed green screen footage on a 15 minute video, and just the other night, it took the better part of 4 hours (after it was already rendered) to export a 15 minute ProRes422 sequence to YouTube (and then the darn thing timed out, essentially wasting all my time).  I'd rather just stay in Proxy the whole way through if doing so would streamline my workflow without compromising too much quality in the "look" of the video.  Based on my very limited use of Proxy (just testing it out last night for the first time), I couldn't tell the difference.  Maybe for web deployment, Proxy is all I really need.
    Have any of you just stayed in Proxy the whole way through, never switching to 422 even when exporting?  Might this be an acceptable work flow for some of us, especially those of us on older, less powerful machines?  Is this a viable solution?  Do any of you work this way?  What's your level of satisfaction?
    Thoughts?

    A lot of what I'm shooting is being shot on a Canon XA-10.  Some (and certainly all of the 720 footage, but some of the 1080) is shot on a 7D.  And still more is shot on either an iPhone 4S, or even on a Flip Ultra (720p, 30fps).
    Most is shot on the XA-10.
    What I'm trying to avoid is the excessive render times (doesn't the ProRes 422 footage have to render as well?), and the ridiculously long times it takes to export.  Would all that not be reduced significantly by sticking to Proxy the whole way?  And what would the trade-off be?  I mean, I honestly can't see any discernible difference.  Maybe I will when I try to pull a decent key.  (Haven't gotten that far yet in my Proxy experimentation.)
    Of course, editing in Proxy and outputting using 422 requires that FCP-X encode to BOTH when importing, right?  Doesn't that add yet another bit of time to the overall process?
    I'm trying to streamline, and to reduce the overall amount of time I'm spending doing this stuff.

  • BDC PROGRAM WITH OUT USING A FM?

    Hi Experts,
    I need wirte a BDC program for tcode PA30.
    i did the screen recording part using tcode-shdb.
    i need to use field i recorded as input fields.
    Now the main part is how to write code? with out using a class/method?
    class/method which i earlier used is class : CL_GUI_FRONTEND_SERVICES.
                                                             method: gui_upload.
    am not using ny flat file/xml file to upload?
    are there any function modules which i can use?
    and how to write code with out using FM?
    if any can solve  my issue would be very helpful...plz provide code...which would be more helpful.
    Thanks in Adv.
    Krrish.

    Hi,
       If you are migrating employee data, I would suggest you to do it through PA40 transaction rather PA30. systematic screen validations it will go through. If you dont want to use any FM and wanted to do using recording pls find the below code which will update the employee data through PA40 with call transaction method.
    SELECTION SCREEN
    SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE   text-001.
    PARAMETERS: p_plan TYPE ibipparms-path OBLIGATORY.
    SELECTION-SCREEN: END OF BLOCK b1.
    TYPES: BEGIN OF ty_error,
             pernr TYPE persno,       " Personnel number
             rel_obj_id(12),         " Related Object ID
             msg(200) TYPE c,       " To store Message
           END   OF ty_error.
    DATA: i_tplan TYPE STANDARD TABLE OF alsmex_tabline WITH HEADER LINE,
          i_intern TYPE STANDARD TABLE OF alsmex_tabline WITH HEADER LINE,
          i_error    TYPE ty_error OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF w_pa000,
           pernr TYPE persno,
           begda TYPE begda,
          END OF w_pa000.
    DATA: wa_plan LIKE i_plan,
          wa_messtab    TYPE bdcmsgcoll, " Messages
          wa_error      TYPE ty_error.  " Errors
    DATA: it_pa000 LIKE STANDARD TABLE OF w_pa000 WITH HEADER LINE,
          it_pa002 LIKE STANDARD TABLE OF w_pa000 WITH HEADER LINE,
          it_pa001 LIKE STANDARD TABLE OF w_pa000 WITH HEADER LINE.
    DATA:  g_mode LIKE ctu_params-dismode VALUE 'N',
           g_file TYPE ibipparms-path.
    ALV field catalog
    DATA : i_fieldcat TYPE slis_t_fieldcat_alv.
          Batchinputdata of single transaction
    DATA:   i_bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE.
          messages of call transaction
    DATA:   i_messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
          error session opened (' ' or 'X')
    Table to hold the return messages
    DATA: BEGIN OF i_errmsg OCCURS 10.
            INCLUDE STRUCTURE bapiret2.
    DATA: END OF i_errmsg.
    ALV List header table
    DATA : i_header1 TYPE slis_t_listheader.
    ALV List header table
    DATA : i_header TYPE slis_listheader.
    ***ALV Events
    DATA: is_layout TYPE slis_layout_alv.
    DATA : it_event TYPE slis_alv_event.
    DATA : it_event1 TYPE slis_t_event.
    To get the F4 help for file
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_plan.
      PERFORM get_filename.
    START  OF SELECTION
    START-OF-SELECTION.
    Initialise data
      PERFORM initialise_events.
    Retrieve data from Excel file
      PERFORM retreive_data.
    Populate final data into an internal table
      PERFORM populate_data.
    Process the excel file data to create a record for IT0007
      PERFORM process_data.
    END  OF SELECTION
    END-OF-SELECTION.
      PERFORM final_output.
    *&      Form  GET_FILENAME
    FORM get_filename .
    *Function module used for F4 help
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = syst-cprog
          dynpro_number = syst-dynnr
        IMPORTING
          file_name     = p_plan.
    ENDFORM.                    " GET_FILENAME
    *&      Form  INITIALISE_EVENTS
    FORM initialise_events .
      i_header-typ = 'H'.
    i_header-key = 'R'.
      i_header-info = 'BDC Interface for PA Infotypes 0000,0001,0002'.
      APPEND i_header TO i_header1.
      CLEAR i_header.
      i_header-typ = 'S'.
      i_header-info = 'Hiring, Org.Assignment, Personnel Data'.
      APPEND i_header TO i_header1.
      CLEAR i_header.
    ***Events and form name
      it_event-name = 'TOP_OF_PAGE'.
      it_event-form = 'TOP_OF_PAGE'.
      APPEND it_event TO it_event1.
    ENDFORM.                    " INITIALISE_EVENTS
    *&      Form  RETREIVE_DATA
    FORM retreive_data .
      PERFORM upload_data.
    ENDFORM.                    " RETREIVE_DATA
    *&      Form  UPLOAD_DATA
    FORM upload_data .
    FM to upload data from excel sheet to internal table
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_plan
          i_begin_col             = g_colbeg
          i_begin_row             = g_rowbeg
          i_end_col               = g_colend
          i_end_row               = g_rowend
        TABLES
          intern                  = i_tplan
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " UPLOAD_DATA
    *&      Form  POPULATE_DATA
    FORM populate_data .
    processing the internal table generated from the function module
    Passing data from Excel file to internal table
      CLEAR: g_cnt_processed,
             g_cnt_err_processed,
             i_intern,
             i_plan.
      LOOP AT i_tplan.
        AT NEW row.
          CLEAR i_plan.
        ENDAT.
        CASE i_tplan-col.
    Begin Date
          WHEN '0001'.
            i_plan-pernr = i_tplan-value.
    End Date
          WHEN '0002'.
            i_plan-begda = i_tplan-value.
          WHEN '0003'.
            i_plan-massg = i_tplan-value.
    Sign
          WHEN '0004'.
            i_plan-plans = i_tplan-value.
          WHEN '0005'.
            i_plan-werks = i_tplan-value.
          WHEN '0006'.
            i_plan-persg = i_tplan-value.
          WHEN '0007'.
            i_plan-persk = i_tplan-value.
          WHEN '0008'.
            i_plan-anrex = i_tplan-value.
          WHEN '0009'.
            i_plan-nachn = i_tplan-value.
          WHEN '0010'.
            i_plan-vorna = i_tplan-value.
          WHEN '0011'.
            i_plan-gesch = i_tplan-value.
          WHEN '0012'.
            i_plan-gbdat = i_tplan-value.
          WHEN '0013'.
            i_plan-fatxt = i_tplan-value.
          WHEN '0014'.
            i_plan-famdt = i_tplan-value.
          WHEN '0015'.
            i_plan-gblnd = i_tplan-value.
          WHEN '0016'.
            i_plan-anzkd = i_tplan-value.
          WHEN '0017'.
            i_plan-natio = i_tplan-value.
          WHEN '0018'.
            i_plan-btrtl = i_tplan-value.
          WHEN '0019'.
            i_plan-gsber = i_tplan-value.
          WHEN '0020'.
            i_plan-abkrs = i_tplan-value.
        ENDCASE.
    Appending the internal table tb_data, tb_chng
        AT END OF row.
          APPEND i_plan.
          IF i_plan IS INITIAL.
            g_cnt_err_processed = g_cnt_err_processed + 1.
          ENDIF.
        ENDAT.
      ENDLOOP.
    To get the total number of records processed
      DESCRIBE TABLE i_plan LINES g_lines.
      g_cnt_processed = g_cnt_err_processed + g_lines.
      CLEAR g_lines.
    ENDFORM.                    " POPULATE_DATA
    *&      Form  PROCESS_DATA
    FORM process_data .
      CLEAR wa_error.
      REFRESH i_bdcdata.
    Check if the employee numbers from the template has already been hired
      SELECT pernr
             begda
             FROM pa0000
             INTO TABLE it_pa000
             FOR ALL ENTRIES IN i_plan
             WHERE pernr = i_plan-pernr
               AND massn = 'ZA'.
      IF sy-subrc = 0.
        SORT it_pa000 BY pernr.
    Check if employee has a corresponding infotype 0001 record
        SELECT pernr
               begda
               FROM pa0001
               INTO TABLE it_pa001
               FOR ALL ENTRIES IN it_pa000
               WHERE pernr = it_pa000-pernr AND
                     begda = it_pa000-begda.
        IF sy-subrc = 0.
          SORT it_pa001 BY pernr.
    Check if employee has a corresponding infotype 0002 record
          SELECT pernr
               begda
               FROM pa0001
               INTO TABLE it_pa002
               FOR ALL ENTRIES IN it_pa001
               WHERE pernr = it_pa001-pernr AND
                     begda = it_pa001-begda.
          IF sy-subrc = 0.
            SORT it_pa002 BY pernr.
          ENDIF.
        ENDIF.
      ENDIF.
      LOOP AT i_plan.
        REFRESH i_bdcdata.
    ***your recording to be pasted here***
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'P0006-BEGDA'.
        PERFORM call_transaction.
        APPEND wa_error TO i_error.
        REFRESH: i_bdcdata, i_messtab.
        CLEAR: wa_error, i_error.
      ENDLOOP.
    ENDFORM.                    " PROCESS_DATA
    *&      Form  BDC_DYNPRO
    FORM bdc_dynpro USING program dynpro.
      CLEAR i_bdcdata.
      i_bdcdata-program  = program.
      i_bdcdata-dynpro   = dynpro.
      i_bdcdata-dynbegin = 'X'.
      APPEND i_bdcdata.
    ENDFORM.                    "BDC_DYNPRO
    *&      Form  BDC_FIELD
    FORM bdc_field USING fnam fval.
    IF fval <> nodata.
      CLEAR i_bdcdata.
      i_bdcdata-fnam = fnam.
      i_bdcdata-fval = fval.
      APPEND i_bdcdata.
    ENDIF.
    ENDFORM.                    "bdc_field
    *&      Form  ERROR_RECORD_DATA
    FORM error_record_data .
      CLEAR: g_lines,
           wa_messtab,
           g_msg.
      DESCRIBE TABLE i_messtab LINES g_lines.
      READ TABLE i_messtab INTO wa_messtab INDEX g_lines.
      IF sy-subrc = 0.
        CLEAR g_msg.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = wa_messtab-msgid
            lang      = sy-langu
            no        = wa_messtab-msgnr
            v1        = wa_messtab-msgv1
            v2        = wa_messtab-msgv2
            v3        = wa_messtab-msgv3
            v4        = wa_messtab-msgv4
          IMPORTING
            msg       = g_msg
          EXCEPTIONS
            not_found = 1
            OTHERS    = 2.
       IF wa_messtab-msgtyp = 'E'.
        IF wa_messtab-msgtyp = 'S' AND wa_messtab-msgnr = '102' AND wa_messtab-msgid = 'PG'.
          wa_error-pernr = i_plan-pernr.
          wa_error-rel_obj_id = 'S'.
          wa_error-msg = 'Personnel Number Created Successfully'.
        ELSE.
          wa_error-pernr = i_plan-pernr.
          wa_error-rel_obj_id = 'E'.
          wa_error-msg = g_msg.
        ENDIF.
       APPEND wa_error TO i_error.
       CLEAR i_error.
      ENDIF.
    ENDFORM.                    " ERROR_RECORD_DATA
    *&      Form  FINAL_OUTPUT
    FORM final_output .
      CLEAR g_lines.
      SORT i_error.
    *************added*********************************************
      loop at i_error into wa_error.
        if wa_error-MSG eq 'No batch input data for screen MP000600 2000'.
          wa_error-rel_obj_id = 'S'.
          wa_error-MSG = 'Record Created Successfully'.
          modify i_error from wa_error.
        endif.
      endloop.
      loop at i_error into wa_error.
        if  wa_error-rel_obj_id = 'S'.
          g_cnt_success = g_cnt_success + 1.       " Append success count
        elseif  wa_error-rel_obj_id = 'E'.
          g_cnt_failure = g_cnt_failure + 1.       " Append error count
        endif.
      endloop.
    ***Field catalog
      PERFORM field_cat.
    ***Assigning Program name
      g_repid = sy-repid.
      SORT i_error.
    ***Display Output
    IF NOT it_final[] IS INITIAL.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program       = g_repid
               i_callback_user_command  = 'USER_COMMAND'
               i_callback_pf_status_set = 'PF_STATUS_SET'
                i_save                   = 'A'
                it_events                = it_event1
                is_layout                = is_layout
                it_fieldcat              = i_fieldcat[]
           TABLES
                t_outtab                 = i_error[].
    ELSE.
       MESSAGE i015(zv_msg) WITH 'No Data Found for this selection'.
       LEAVE LIST-PROCESSING.
    ENDIF.
    ENDFORM.                    " FINAL_OUTPUT
    *&      Form  top_of_page
          text
    FORM top_of_page.
    ***FM for Displaying Heading
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = i_header1[]
          i_logo             = 'ENJOYSAP_LOGO'.
    ENDFORM.                    "top_of_page
    *&      Form  FIELD_CAT
    FORM field_cat .
    ENDFORM.                    " FIELD_CAT
    *&      Form  CALL_TRANSACTION
    FORM call_transaction .
      CALL TRANSACTION 'PA40' USING i_bdcdata
                                   MODE g_mode
                                   UPDATE 'S'
                                   MESSAGES INTO i_messtab.
    If call transaction successful
      IF sy-subrc = 0.
       g_cnt_success = g_cnt_success + 1.       " Append success count  "changed
        PERFORM error_record_data.  " Populate all data
    If call transaction not successful
      ELSE.
        PERFORM error_record_data. " Populate all table
       g_cnt_failure = g_cnt_failure + 1.       " Append error count  "changed
      ENDIF.
    ENDFORM.                    " CALL_TRANSACTION

  • Code signing cert error using Digicert - Unable to build a valid certificate chain for the signer

    Steps to fix this error on code signing adobe air using .p12 cert from Digicert - Unable to build a valid certificate chain for the signer
    a. Open Firefox and browse to https://www.digicert.com/digicert-root-certificates.htm
    b. On the middle of the page, download -
    DigiCert Assured ID Code Signing CA-1
    Valid until: 10/Feb/2026
    Serial #: 07:F4:73:6F:AF:EF:40:8A:1F:66:40:F2:65:D1:0A:C1
    Thumbprint: B170A10819BEA936905D719E643399783E1F4567
    Download
    c. Install the cert in Firefox
    d. Once done, export again the code signing cert from digicert, through (click Firefox -> Preferences -> View Certificates -> HIghlight the digicert code signing cert -> click Backup)
    e. Done, the newly exported file should now have the valid certificate chain and that should fix the error "Unable to build a valid certificate chain for the signer"
    Even though this is from Digicert, this should also work for other Certificate Authority providers assuming you download your provider's root cert for code signing.
    Regards,
    Reigner S. Yrastorza

    Are you talking about AIR Help produced by RoboHelp or an AIR application that you are creating?
    If the latter, please see the notice at http://forums.adobe.com/community/robohelp/airhelp
    If you are using RoboHelp, which version?
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • I just purchased a camera packaged with Adobe photoshop Elements 11. I have a mac book air- which does not have a cd drive. The package did not come with a code or anything that would provide me with another way to install photoshop that came with my came

    I just purchased a camera packaged with Adobe photoshop Elements 11. I have a mac book air- which does not have a cd drive. The package did not come with a code or anything that would provide me with another way to install photoshop that came with my camera. Is there any other way i can install this on my camera without using the provided cd or buying the software again?

    That doesn't help the user with the serial code though.
    There has to be some kind of code somewhere within the package. The disk itself does not contain one. You can look here for help with finding your serial number:
    Find your serial number quickly

Maybe you are looking for

  • Entrada de Pedido de Compras

    Pessoal, estou em um cliente que estará na obrigatoriedade de emitor NFe a partir de setembro, no entanto, para atender ao SPED criaram uma categoria de NFe para dar entrada em pedidos de compras que viessem do fornecedor com NFe. A minha dúvida é a

  • Where to drop EXS24 samples and corresponding instrument files?

    Forgive the ultra-noobness of this question. Searching has given no answers. I want to install third party EXS samples of trumpet sounds. I understand that the EXS instrument file has a corresponding .wav or .aiff sample file. Where should they be st

  • Is it possible to save videos to my iphone and watch them on my ipad (while on a plane - bluetooth?) without wifi?

    I have a business trip to Sydney Australia coming up in a few months (from Vancouver). I'm still new to the whole Apple experience and wondered if there is any way to sync your iPhone and iPad without wifi, allowing me to save movies to my phone yet

  • I am  having  issues  with java

    OK well I finally got  the java update to full load and it stated that it was corrupt or something like that and now I can not get into my favorite chat room it says I need to get java ..   when I go to the link to  re get a update to java it says I

  • SAP SD CIN Query- 7

    Hi I am facing a problem in CIN. The last updation date(J1I5) for for RG23A-1 is different from last extraction date (J2I5). The extraction date is ahead of updation date. If updation isn't complete for any particular date then system cant extract in